ANTLR3C  3.3.1
ANTLR3_HASH_TABLE_struct Struct Reference

Structure that tracks a hash table. More...

#include <antlr3collections.h>

Collaboration diagram for ANTLR3_HASH_TABLE_struct:

Data Fields

int allowDups
 Indicates whether the table allows duplicate keys. More...
 
pANTLR3_HASH_BUCKET buckets
 Points to the memory where the array of buckets starts. More...
 
ANTLR3_UINT32 count
 How many elements currently exist in the table. More...
 
void(* del )(struct ANTLR3_HASH_TABLE_struct *table, void *key)
 
void(* delI )(struct ANTLR3_HASH_TABLE_struct *table, ANTLR3_INTKEY key)
 
ANTLR3_BOOLEAN doStrdup
 Whether the hash table should strdup the keys it is given or not. More...
 
void(* free )(struct ANTLR3_HASH_TABLE_struct *table)
 Pointer to function to completely delete this table. More...
 
void *(* get )(struct ANTLR3_HASH_TABLE_struct *table, void *key)
 
void *(* getI )(struct ANTLR3_HASH_TABLE_struct *table, ANTLR3_INTKEY key)
 
ANTLR3_UINT32 modulo
 Number of buckets available in this table. More...
 
ANTLR3_INT32(* put )(struct ANTLR3_HASH_TABLE_struct *table, void *key, void *element, void(ANTLR3_CDECL *freeptr)(void *))
 
ANTLR3_INT32(* putI )(struct ANTLR3_HASH_TABLE_struct *table, ANTLR3_INTKEY key, void *element, void(ANTLR3_CDECL *freeptr)(void *))
 
pANTLR3_HASH_ENTRY(* remove )(struct ANTLR3_HASH_TABLE_struct *table, void *key)
 
pANTLR3_HASH_ENTRY(* removeI )(struct ANTLR3_HASH_TABLE_struct *table, ANTLR3_INTKEY key)
 
ANTLR3_UINT32(* size )(struct ANTLR3_HASH_TABLE_struct *table)
 

Detailed Description

Structure that tracks a hash table.

Field Documentation

int ANTLR3_HASH_TABLE_struct::allowDups

Indicates whether the table allows duplicate keys.

Referenced by antlr3HashPut(), antlr3HashPutI(), and antlr3HashTableNew().

pANTLR3_HASH_BUCKET ANTLR3_HASH_TABLE_struct::buckets
ANTLR3_UINT32 ANTLR3_HASH_TABLE_struct::count

How many elements currently exist in the table.

Referenced by antlr3HashPut(), antlr3HashPutI(), antlr3HashRemove(), antlr3HashRemoveI(), antlr3HashSize(), and antlr3HashTableNew().

void(* ANTLR3_HASH_TABLE_struct::del) (struct ANTLR3_HASH_TABLE_struct *table, void *key)

Referenced by antlr3HashTableNew().

void(* ANTLR3_HASH_TABLE_struct::delI) (struct ANTLR3_HASH_TABLE_struct *table, ANTLR3_INTKEY key)
ANTLR3_BOOLEAN ANTLR3_HASH_TABLE_struct::doStrdup

Whether the hash table should strdup the keys it is given or not.

Referenced by antlr3HashPut(), antlr3HashRemove(), and antlr3HashTableNew().

void(* ANTLR3_HASH_TABLE_struct::free) (struct ANTLR3_HASH_TABLE_struct *table)

Pointer to function to completely delete this table.

Referenced by antlr3HashTableNew(), and antlr3ListFree().

void*(* ANTLR3_HASH_TABLE_struct::get) (struct ANTLR3_HASH_TABLE_struct *table, void *key)

Referenced by antlr3HashTableNew().

void*(* ANTLR3_HASH_TABLE_struct::getI) (struct ANTLR3_HASH_TABLE_struct *table, ANTLR3_INTKEY key)
ANTLR3_INT32(* ANTLR3_HASH_TABLE_struct::put) (struct ANTLR3_HASH_TABLE_struct *table, void *key, void *element, void(ANTLR3_CDECL *freeptr)(void *))

Referenced by antlr3HashTableNew().

ANTLR3_INT32(* ANTLR3_HASH_TABLE_struct::putI) (struct ANTLR3_HASH_TABLE_struct *table, ANTLR3_INTKEY key, void *element, void(ANTLR3_CDECL *freeptr)(void *))
pANTLR3_HASH_ENTRY(* ANTLR3_HASH_TABLE_struct::remove) (struct ANTLR3_HASH_TABLE_struct *table, void *key)

Referenced by antlr3HashTableNew().

pANTLR3_HASH_ENTRY(* ANTLR3_HASH_TABLE_struct::removeI) (struct ANTLR3_HASH_TABLE_struct *table, ANTLR3_INTKEY key)
ANTLR3_UINT32(* ANTLR3_HASH_TABLE_struct::size) (struct ANTLR3_HASH_TABLE_struct *table)

The documentation for this struct was generated from the following file: