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

◆ allowDups

int ANTLR3_HASH_TABLE_struct::allowDups

Indicates whether the table allows duplicate keys.

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

◆ buckets

pANTLR3_HASH_BUCKET ANTLR3_HASH_TABLE_struct::buckets

◆ count

ANTLR3_UINT32 ANTLR3_HASH_TABLE_struct::count

How many elements currently exist in the table.

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

◆ del

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

Referenced by antlr3HashTableNew().

◆ delI

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

◆ doStrdup

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

◆ free

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

◆ get

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

Referenced by antlr3HashTableNew().

◆ getI

void *(*) ANTLR3_HASH_TABLE_struct::getI(struct ANTLR3_HASH_TABLE_struct *table, ANTLR3_INTKEY key)

◆ modulo

◆ put

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

◆ putI

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

◆ remove

pANTLR3_HASH_ENTRY(*) ANTLR3_HASH_TABLE_struct::remove(struct ANTLR3_HASH_TABLE_struct *table, void *key)

Referenced by antlr3HashTableNew().

◆ removeI

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

◆ size

ANTLR3_UINT32(*) ANTLR3_HASH_TABLE_struct::size(struct ANTLR3_HASH_TABLE_struct *table)

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