ANTLR3_HASH_TABLE_struct(3)

πŸ“¦ version 3.4, in fedora 43

πŸ’– ANTLR3_HASH_TABLE_struct β€” the it-girl of hash tables πŸ’–

okay bestie, welcome to the ANTLR3C manual, page ANTLR3_HASH_TABLE_struct(3). this is where we meet the struct that's literally out here tracking a whole hash table. she's organized, she's got pointers to functions, she's the moment. let's get into it 🫢


✨ NAME ✨

ANTLR3_HASH_TABLE_struct β€” the Structure that tracks a hash table. that's it, that's her whole job, and she does it flawlessly πŸ’…


🌸 SYNOPSIS 🌸

#include <antlr3collections.h>

πŸŽ€ Data Fields

  • int allowDups β€” tells you whether the table is chill with duplicate keys or not. no cap.
  • pANTLR3_HASH_BUCKET buckets β€” points to the memory where the array of buckets starts. the bucket neighbourhood, if you will πŸͺ£
  • ANTLR3_UINT32 count β€” how many elements are currently living in the table. a lil headcount, real-time.
  • void(* del )(struct ANTLR3_HASH_TABLE_struct *table, void *key) β€” delete-by-key function pointer energy.
  • void(* delI )(struct ANTLR3_HASH_TABLE_struct *table, ANTLR3_INTKEY key) β€” same vibe, but the key is an integer. iykyk.
  • ANTLR3_BOOLEAN doStrdup β€” whether the hash table should strdup the keys it is given or not. yes bestie, she can copy your keys. consent first tho.
  • void(* free )(struct ANTLR3_HASH_TABLE_struct *table) β€” Pointer to function to completely delete this table. nuclear option, but make it elegant πŸ’€
  • void *(* get )(struct ANTLR3_HASH_TABLE_struct *table, void *key) β€” grab-a-value-by-key function pointer.
  • void *(* getI )(struct ANTLR3_HASH_TABLE_struct *table, ANTLR3_INTKEY key) β€” grab-a-value-by-integer-key. the I suffix said "i'm different" and meant it.
  • ANTLR3_UINT32 modulo β€” Number of buckets available in this table. the bucket count, periodt.
  • ANTLR3_INT32(* put )(struct ANTLR3_HASH_TABLE_struct *table, void *key, void *element, void(ANTLR3_CDECL *freeptr)(void *)) β€” put-something-in function pointer, with a lil freeptr callback for cleanup duties.
  • ANTLR3_INT32(* putI )(struct ANTLR3_HASH_TABLE_struct *table, ANTLR3_INTKEY key, void *element, void(ANTLR3_CDECL *freeptr)(void *)) β€” the integer-key remix of put. same energy, numeric key.
  • pANTLR3_HASH_ENTRY(* remove )(struct ANTLR3_HASH_TABLE_struct *table, void *key) β€” remove-by-key, hands you back a pANTLR3_HASH_ENTRY.
  • pANTLR3_HASH_ENTRY(* removeI )(struct ANTLR3_HASH_TABLE_struct *table, ANTLR3_INTKEY key) β€” remove-by-integer-key. she returns the entry, she's generous like that.
  • ANTLR3_UINT32(* size )(struct ANTLR3_HASH_TABLE_struct *table) β€” returns the size. the "how big is it" hotline.

πŸ’œ Detailed Description πŸ’œ

Structure that tracks a hash table.

(that's the whole description, and honestly? she said what she said. iconic.)


🌈 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

Points to the memory where the array of buckets starts.

Referenced by antlr3EnumNew(), antlr3EnumNextEntry(), antlr3HashFree(), antlr3HashGet(), antlr3HashGetI(), antlr3HashPut(), antlr3HashPutI(), antlr3HashRemove(), antlr3HashRemoveI(), and antlr3HashTableNew().

that's a LOT of references bestie, she's popular. main character energy fr fr πŸ‘‘

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

Referenced by antlr3HashTableNew(), and antlr3ListDelete().


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

"completely delete" β€” yes, completely. no half measures, no leftovers, she clears the whole timeline 🧹✨

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

Referenced by antlr3HashTableNew(), and antlr3ListGet().


⭐ ANTLR3_UINT32 ANTLR3_HASH_TABLE_struct::modulo

Number of buckets available in this table.

Referenced by antlr3EnumNext(), antlr3EnumNextEntry(), antlr3HashFree(), antlr3HashGet(), antlr3HashGetI(), antlr3HashPut(), antlr3HashPutI(), antlr3HashRemove(), antlr3HashRemoveI(), and 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 *))

Referenced by antlr3HashTableNew(), and antlr3ListPut().


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

Referenced by antlr3HashTableNew(), and antlr3ListRemove().


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

Referenced by antlr3HashTableNew(), antlr3ListAdd(), and antlr3ListSize().


πŸ¦‹ Author πŸ¦‹

Generated automatically by Doxygen for ANTLR3C from the source code. (not me writing a lil love letter by hand, it was the robot, but the robot ate, ngl πŸ€–πŸ’…)


okay that's the whole page bestie, every single field, every reference, nothing skipped, all facts intact πŸ’–

Version 3.3.1 Β· Tue Jul 29 2025 00:00:00 β€” mwah, go forth and hash responsibly, you absolute icon πŸŒŸπŸ‘‘πŸŽ€

πŸ“¦ where this page comes from