:orphan: # PETSC_HASH_SET Instantiate a new PETSc hash set type ## Synopsis ``` #include PETSC_HASH_SET(HSetT, KeyType, HashFunc, EqualFunc) ``` ## Input Parameters - ***HSetT -*** The hash set type name suffix, i.e. the name of the object created is PetscHSet - ***KeyType -*** The type of entries, may be a basic type such as int or a struct - ***HashFunc -*** Routine or function-like macro that computes hash values from entries - ***EqualFunc -*** Routine or function-like macro that computes whether two values are equal ## Developer Note Each time this macro is used to create a new hash set 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/hashset.txt. ## References This code uses the standalone and portable C language khash software https://github.com/attractivechaos/klib ## See Also `PetscHSetI`, `PetscHSetICreate()`, `PetscHSetIJ`, `PetscHSetIJCreate()`, `PETSC_HASH_MAP()` ## Level developer ## Location include/petsc/private/hashset.h --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petsc/private/hashset.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)