PetscHMapObjSetWithMode#
Set a (key,value) entry in the hash table according to an InsertMode
Synopsis#
#include <petsc/private/hashmapobj.h>
PetscErrorCode PetscHMapObjSetWithMode(PetscHMapObj ht, PetscInt64 key, PetscObject val, InsertMode mode)
Input Parameters#
- ht - The hash table 
- key - The key 
- val - The value 
- mode - The insertion mode 
Notes#
mode may be any of the following:
- INSERT_VALUES: this routine behaves identically to- PetscHMapObjSet().
- ADD_VALUES: if- keyis found- valis added to the current entry, otherwise (- key,- value) is inserted into- htas-if-by- INSERT_VALUES.
- MAX_VALUES: if- keyis found the current value is replaced by the maximum of- valand the current entry, otherwise (- key,- value) is inserted into- htas-if-by- INSERT_VALUES.
- MIN_VALUES: if- keyis found the current value is replaced by the minimum of- valand the current entry, otherwise (- key,- value) is inserted into- htas-if-by- INSERT_VALUES.
All other InsertMode values raise an error.
Since this routine relies on +, <, and > being well-formed for a particular type
it is not available by default for all PETSc hash table instantiations. If a particular
instantiation supports this routine it must define PETSC_HMAPObj_HAVE_EXTENDED_API to
1.
See Also#
PetscHMapObjSet(), PetscHMapObjGet(), PetscHMapObjGetWithDefault(),
PetscHMapObjIterSet()
Level#
developer
Location#
include/petsc/private/hashmap.txt.h
Index of all PetscH routines
Table of Contents for all manual pages
Index of all manual pages