Skip to main content
`Ctrl`+`K`

# PETSC_HASH_SET

Instantiate a new PETSc hash set type

## Synopsis

    #include <petsc/private/hashset.h>
    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<HSetT>

- 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

## Note

This code uses the standalone and portable C language khash software attractivechaos/klib

## 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.

## See Also

`PetscHSetI`, `PetscHSetICreate()`, `PetscHSetIJ`, `PetscHSetIJCreate()`, `PETSC_HASH_MAP()`

## Level

developer

## Location

include/petsc/private/hashset.h

Index of all PetscH routines
Table of Contents for all manual pages
Index of all manual pages