57#if !defined (PLIBSYS_H_INSIDE) && !defined (PLIBSYS_COMPILATION)
58# error "Header files shouldn't be included directly, consider using <plibsys.h> instead."
61#ifndef PLIBSYS_HEADER_PHASHTABLE_H
62#define PLIBSYS_HEADER_PHASHTABLE_H
P_LIB_API PList * p_hash_table_keys(const PHashTable *table)
Gives a list of all the stored keys in the hash table.
struct PHashTable_ PHashTable
Opaque data structure for a hash table.
P_LIB_API void p_hash_table_insert(PHashTable *table, ppointer key, ppointer value)
Inserts a new key-value pair into a hash table.
P_LIB_API PList * p_hash_table_values(const PHashTable *table)
Gives a list of all the stored values in the hash table.
P_LIB_API void p_hash_table_free(PHashTable *table)
Frees a previously initialized PHashTable.
P_LIB_API PList * p_hash_table_lookup_by_value(const PHashTable *table, pconstpointer val, PCompareFunc func)
Searches for a specifed key in the hash table by its value.
P_LIB_API ppointer p_hash_table_lookup(const PHashTable *table, pconstpointer key)
Searches for a specifed key in the hash table.
P_LIB_API PHashTable * p_hash_table_new(void)
Initializes a new hash table.
P_LIB_API void p_hash_table_remove(PHashTable *table, pconstpointer key)
Removes key from a hash table.
#define P_BEGIN_DECLS
Starts .h file declarations to be exported as C functions.
#define P_END_DECLS
Closes .h file declarations to be exported as C functions, should be always used after P_BEGIN_DECLS.
#define P_LIB_API
Exports a symbol from a shared library.
const void * pconstpointer
Type for a const pointer.
void * ppointer
Type for a pointer.
pint(* PCompareFunc)(pconstpointer a, pconstpointer b)
Compares two values.
Node for a singly linked list.