bfd: Hash Tables

 
 2.18 Hash Tables
 ================
 
 BFD provides a simple set of hash table functions.  Routines are
 provided to initialize a hash table, to free a hash table, to look up a
 string in a hash table and optionally create an entry for it, and to
 traverse a hash table.  There is currently no routine to delete an
 string from a hash table.
 
    The basic hash table does not permit any data to be stored with a
 string.  However, a hash table is designed to present a base class from
 which other types of hash tables may be derived.  These derived types
 may store additional information with the string.  Hash tables were
 implemented in this way, rather than simply providing a data pointer in
 a hash table entry, because they were designed for use by the linker
 back ends.  The linker may create thousands of hash table entries, and
 the overhead of allocating private data and storing and following
 pointers becomes noticeable.
 
    The basic hash table code is in 'hash.c'.
 

Menu