Skip to main content
`Ctrl`+`K`

# PETSC_HASH_MAP

Instantiate a PETSc hash table map type

## Synopsis

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

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

## See Also

`PETSC_HASH_MAP_DECL()`, `PetscHMapI`, `PetscHMapICreate()`, `PetscHMapIJ`, `PetscHMapIJCreate()`, `PETSC_HASH_SET()`

## Level

developer

## Location

include/petsc/private/hashmap.h

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