GNU Info

Info Node: (bfd.info)Creating and Freeing a Hash Table

(bfd.info)Creating and Freeing a Hash Table


Next: Looking Up or Entering a String Prev: Hash Tables Up: Hash Tables
Enter node , (file) or (file)node

Creating and freeing a hash table
---------------------------------

   To create a hash table, create an instance of a `struct
bfd_hash_table' (defined in `bfd.h') and call `bfd_hash_table_init' (if
you know approximately how many entries you will need, the function
`bfd_hash_table_init_n', which takes a SIZE argument, may be used).
`bfd_hash_table_init' returns `false' if some sort of error occurs.

   The function `bfd_hash_table_init' take as an argument a function to
use to create new entries.  For a basic hash table, use the function
`bfd_hash_newfunc'.  Note: Deriving a New Hash Table Type, for why
you would want to use a different value for this argument.

   `bfd_hash_table_init' will create an objalloc which will be used to
allocate new entries.  You may allocate memory on this objalloc using
`bfd_hash_allocate'.

   Use `bfd_hash_table_free' to free up all the memory that has been
allocated for a hash table.  This will not free up the `struct
bfd_hash_table' itself, which you must provide.


automatically generated by info2www version 1.2.2.9