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.
pANTLR3_HASH_BUCKET buckets
 Points to the memory where the array of buckets starts.
ANTLR3_UINT32 count
 How many elements currently exist in the table.
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.
void(* free )(struct ANTLR3_HASH_TABLE_struct *table)
 Pointer to function to completely delete this table.
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.
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

Indicates whether the table allows duplicate keys.

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

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

Referenced by antlr3HashTableNew().

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

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

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().

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 *))

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