14#ifndef CPL_HASH_SET_H_INCLUDED
15#define CPL_HASH_SET_H_INCLUDED
55void CPL_DLL CPLHashSetDestroy(
CPLHashSet *set);
59int CPL_DLL CPLHashSetSize(
const CPLHashSet *set);
65int CPL_DLL CPLHashSetInsert(
CPLHashSet *set,
void *elt);
67void CPL_DLL *CPLHashSetLookup(
CPLHashSet *set,
const void *elt);
69int CPL_DLL CPLHashSetRemove(
CPLHashSet *set,
const void *elt);
70int CPL_DLL CPLHashSetRemoveDeferRehash(
CPLHashSet *set,
const void *elt);
72unsigned long CPL_DLL CPLHashSetHashPointer(
const void *elt);
74int CPL_DLL CPLHashSetEqualPointer(
const void *elt1,
const void *elt2);
76unsigned long CPL_DLL CPLHashSetHashStr(
const void *pszStr);
78int CPL_DLL CPLHashSetEqualStr(
const void *pszStr1,
const void *pszStr2);
unsigned long(*) CPLHashSetHashFunc(const void *elt)
CPLHashSetHashFunc.
Definition cpl_hash_set.h:38
struct _CPLHashSet CPLHashSet
Opaque type for a hash set.
Definition cpl_hash_set.h:35
int(*) CPLHashSetEqualFunc(const void *elt1, const void *elt2)
CPLHashSetEqualFunc.
Definition cpl_hash_set.h:41
void(*) CPLHashSetFreeEltFunc(void *elt)
CPLHashSetFreeEltFunc.
Definition cpl_hash_set.h:44
int(*) CPLHashSetIterEltFunc(void *elt, void *user_data)
CPLHashSetIterEltFunc.
Definition cpl_hash_set.h:47
Core portability definitions for CPL.
#define CPL_C_END
Macro to end a block of C symbols.
Definition cpl_port.h:279
#define CPL_C_START
Macro to start a block of C symbols.
Definition cpl_port.h:275