:orphan: # PETSC_HASH_MAP Instantiate a PETSc hash table map type ## Synopsis ``` #include PETSC_HASH_MAP(HMapT, KeyType, ValType, HashFunc, EqualFunc, DefaultValue) ``` ## Input Parameters - ***HMapT -*** The hash table map type name suffix - ***KeyType -*** The type of keys - ***ValType -*** The type of values - ***HashFunc -*** Routine or function-like macro computing hash values from keys - ***EqualFunc -*** Routine or function-like macro computing whether two values are equal - ***DefaultValue -*** Default value to use for queries in case of missing keys ## Developer Note Each time this macro is used to create a new hash map type, the make rule for allmanpages in $PETSC_DIR/makefile should be updated to cause the automatic generation of appropriate manual pages for that type. The manual pages are generated from the templated version of the documentation in include/petsc/private/hashmap.txt. ## References This code uses the standalone and portable C language khash software https://github.com/attractivechaos/klib ## See Also `PETSC_HASH_MAP_DECL()`, `PetscHMapI`, `PetscHMapICreate()`, `PetscHMapIJ`, `PetscHMapIJCreate()`, `PETSC_HASH_SET()` ## Level developer ## Location include/petsc/private/hashmap.h --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petsc/private/hashmap.h) [Index of all PetscH routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)