| 
    My Project
    
   programmer's documentation 
   | 
 
Hash table, intended to provide a symbol table. More...
Go to the source code of this file.
Data Structures | |
| union | data_t | 
| Type definition for data of each element contained in the hash table.  More... | |
| struct | item | 
| Type definition for each record of the hash table.  More... | |
| struct | hash_table_t | 
| Structure defining a hash table.  More... | |
Typedefs | |
| typedef double(* | func1_t) (double) | 
| Type definition for a pointer to a function of one argument.  More... | |
| typedef double(* | func2_t) (double, double) | 
| Type definition for pointer to a function of two arguments.  More... | |
| typedef double(* | func3_t) (double, double, double) | 
| Type definition for pointer to a function of three arguments.  More... | |
| typedef double(* | func4_t) (double, double, double, double) | 
| Type definition for pointer to a function of for arguments.  More... | |
Enumerations | |
| enum | mei_flag_t {  CONSTANT, ID, FUNC1, FUNC2, FUNC3, FUNC4, OPR }  | 
| List of the different type of symbol.  More... | |
Functions | |
| void | mei_hash_table_create (hash_table_t *const htable, const int modulo) | 
| Initialize the hash table to the size (modulo) asked for. Allocates space for the correct number of pointers and sets them to NULL.  More... | |
| void | mei_hash_table_init (hash_table_t *htable) | 
| Initialize the hash table with default symbols.  More... | |
| void | mei_hash_table_free (hash_table_t *htable) | 
| Destroy a hash table.  More... | |
| struct item * | mei_hash_table_lookup (hash_table_t *htable, const char *key) | 
| Find a record in a hash table.  More... | |
| void | mei_hash_table_insert (hash_table_t *const htable, const char *const key, const mei_flag_t type, const double value, const func1_t f1, const func2_t f2) | 
| Insert a record in a hash table.  More... | |
| struct item * | mei_hash_table_find (hash_table_t *htable, const char *key) | 
| Find a record in a hash table.  More... | |
| void | mei_hash_table_dump (hash_table_t *htable) | 
| Dump of table contents for debuging purpose.  More... | |
| void | mei_hash_table_item_print (struct item *item) | 
| Dump function of a single record.  More... | |
Hash table, intended to provide a symbol table.
A hash table consists of an array of container. Each container holds a copy of the key, a pointer to the data associated with the key, and a pointer to the next container that associated with this one, if there was one.
| typedef double(* func1_t) (double) | 
Type definition for a pointer to a function of one argument.
| typedef double(* func2_t) (double, double) | 
Type definition for pointer to a function of two arguments.
| typedef double(* func3_t) (double, double, double) | 
Type definition for pointer to a function of three arguments.
| typedef double(* func4_t) (double, double, double, double) | 
Type definition for pointer to a function of for arguments.
| enum mei_flag_t | 
| void mei_hash_table_create | ( | hash_table_t *const | htable, | 
| const int | modulo | ||
| ) | 
Initialize the hash table to the size (modulo) asked for. Allocates space for the correct number of pointers and sets them to NULL.
| [in] | htable | hash table | 
| [in] | modulo | size of the hash table | 
| void mei_hash_table_dump | ( | hash_table_t *const | htable | ) | 
Dump of table contents for debuging purpose.
| [in] | htable | hash table | 
| struct item* mei_hash_table_find | ( | hash_table_t *const | htable, | 
| const char *const | key | ||
| ) | 
Find a record in a hash table.
| [in] | htable | hash table | 
| [in] | key | key | 
| void mei_hash_table_free | ( | hash_table_t *const | htable | ) | 
Destroy a hash table.
| [in] | htable | hash table | 
| void mei_hash_table_init | ( | hash_table_t *const | htable | ) | 
Initialize the hash table with default symbols.
| [in] | htable | hash table | 
| void mei_hash_table_insert | ( | hash_table_t *const | htable, | 
| const char *const | key, | ||
| const mei_flag_t | type, | ||
| const double | value, | ||
| const func1_t | f1, | ||
| const func2_t | f2 | ||
| ) | 
Insert a record in a hash table.
| [in] | htable | hash table | 
| [in] | key | key associated to the record | 
| [in] | type | flag associated to the record | 
| [in] | value | store a value if the record if a real | 
| [in] | f1 | pointer on a one argument function | 
| [in] | f2 | pointer on a two argument function | 
| void mei_hash_table_item_print | ( | struct item * | item | ) | 
Dump function of a single record.
| [in] | item | record | 
| struct item* mei_hash_table_lookup | ( | hash_table_t *const | htable, | 
| const char *const | key | ||
| ) | 
Find a record in a hash table.
| [in] | htable | hash table | 
| [in] | key | key | 
 1.8.16