Expand description
Hash table — public xmlHash API (§85 Phase 1).
Implements libxml2’s hash table, used for DTD element/attribute tables, XPath function lookup, catalog entries, and more.
§UPSTREAM-PARITY
The hash table supports:
- Single-key, 2-key, and 3-key lookups
- Custom deallocator and copier functions
- Dictionary-backed keys (for memory efficiency)
- Scanning with callback functions
- Copying with custom copier
§Phase 1 status
Complete — all hash table operations are implemented.
Structs§
- Hash
Table - The hash table struct.
Functions§
- hash_
add_ ⚠entry - Add an entry with a single key.
- hash_
add_ ⚠entry2 - Add an entry with two keys.
- hash_
add_ ⚠entry3 - Add an entry with three keys.
- hash_
copy ⚠ - Copy a hash table.
- hash_
create - Create a new hash table.
- hash_
create_ dict - Create a hash table with dictionary-backed keys.
- hash_
free ⚠ - Free a hash table.
- hash_
lookup ⚠ - Look up an entry by single key.
- hash_
lookup2 ⚠ - Look up an entry by two keys.
- hash_
lookup3 ⚠ - Look up an entry by three keys.
- hash_
remove_ ⚠entry - Remove an entry by single key.
- hash_
remove_ ⚠entry2 - Remove an entry by two keys.
- hash_
remove_ ⚠entry3 - Remove an entry by three keys.
- hash_
scan ⚠ - Scan all entries with a scanner function.
- hash_
scan_ ⚠full - Scan all entries with a full scanner function (includes all keys).
- hash_
size - Get the number of entries in the hash table.
- hash_
update_ ⚠entry - Update an entry (add or replace).
- hash_
update_ ⚠entry2 - Update an entry with two keys.
- hash_
update_ ⚠entry3 - Update an entry with three keys.