Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00043 #ifndef _orxHASHTABLE_H_
00044 #define _orxHASHTABLE_H_
00045
00046 #include "orxInclude.h"
00047 #include "memory/orxMemory.h"
00048
00049
00050 typedef struct __orxHASHTABLE_t orxHASHTABLE;
00051
00052
00053 #define orxHASHTABLE_KU32_FLAG_NONE 0x00000000
00054 #define orxHASHTABLE_KU32_FLAG_NOT_EXPANDABLE 0x00000001
00065 extern orxDLLAPI orxHASHTABLE *orxFASTCALL orxHashTable_Create(orxU32 _u32NbKey, orxU32 _u32Flags, orxMEMORY_TYPE _eMemType);
00066
00071 extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Delete(orxHASHTABLE *_pstHashTable);
00072
00077 extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Clear(orxHASHTABLE *_pstHashTable);
00084 extern orxDLLAPI orxU32 orxFASTCALL orxHashTable_GetCounter(orxHASHTABLE *_pstHashTable);
00085
00093 extern orxDLLAPI void *orxFASTCALL orxHashTable_Get(const orxHASHTABLE *_pstHashTable, orxU32 _u32Key);
00094
00101 extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Set(orxHASHTABLE *_pstHashTable, orxU32 _u32Key, void *_pData);
00102
00103
00110 extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Add(orxHASHTABLE *_pstHashTable, orxU32 _u32Key, void *_pData);
00111
00117 extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Remove(orxHASHTABLE *_pstHashTable, orxU32 _u32Key);
00130 extern orxDLLAPI orxHANDLE orxFASTCALL orxHashTable_FindFirst(orxHASHTABLE *_pstHashTable, orxU32 *_pu32Key, void **_ppData);
00131
00139 extern orxDLLAPI orxHANDLE orxFASTCALL orxHashTable_FindNext(orxHASHTABLE *_pstHashTable, orxHANDLE _hIterator, orxU32 *_pu32Key, void **_ppData);
00142
00143
00144
00145
00146 #ifdef __orxDEBUG__
00147
00151 extern orxDLLAPI void orxFASTCALL orxHashTable_DebugPrint(const orxHASHTABLE *_pstHashTable);
00152
00153 #endif
00154
00155 #endif
00156