orx  1.14
Portable Game Engine
orxHashTable.h
Go to the documentation of this file.
1 /* Orx - Portable Game Engine
2  *
3  * Copyright (c) 2008-2022 Orx-Project
4  *
5  * This software is provided 'as-is', without any express or implied
6  * warranty. In no event will the authors be held liable for any damages
7  * arising from the use of this software.
8  *
9  * Permission is granted to anyone to use this software for any purpose,
10  * including commercial applications, and to alter it and redistribute it
11  * freely, subject to the following restrictions:
12  *
13  * 1. The origin of this software must not be misrepresented; you must not
14  * claim that you wrote the original software. If you use this software
15  * in a product, an acknowledgment in the product documentation would be
16  * appreciated but is not required.
17  *
18  * 2. Altered source versions must be plainly marked as such, and must not be
19  * misrepresented as being the original software.
20  *
21  * 3. This notice may not be removed or altered from any source
22  * distribution.
23  */
24 
44 #ifndef _orxHASHTABLE_H_
45 #define _orxHASHTABLE_H_
46 
47 #include "orxInclude.h"
48 #include "memory/orxMemory.h"
49 
50 /* Internal hash table structure */
51 typedef struct __orxHASHTABLE_t orxHASHTABLE;
52 
53 /* Define flags */
54 #define orxHASHTABLE_KU32_FLAG_NONE 0x00000000
55 #define orxHASHTABLE_KU32_FLAG_NOT_EXPANDABLE 0x00000001
66 extern orxDLLAPI orxHASHTABLE *orxFASTCALL orxHashTable_Create(orxU32 _u32NbKey, orxU32 _u32Flags, orxMEMORY_TYPE _eMemType);
67 
72 extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Delete(orxHASHTABLE *_pstHashTable);
73 
78 extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Clear(orxHASHTABLE *_pstHashTable);
85 extern orxDLLAPI orxU32 orxFASTCALL orxHashTable_GetCount(const orxHASHTABLE *_pstHashTable);
86 
94 extern orxDLLAPI void *orxFASTCALL orxHashTable_Get(const orxHASHTABLE *_pstHashTable, orxU64 _u64Key);
95 
101 extern orxDLLAPI void **orxFASTCALL orxHashTable_Retrieve(orxHASHTABLE *_pstHashTable, orxU64 _u64Key);
102 
109 extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Set(orxHASHTABLE *_pstHashTable, orxU64 _u64Key, void *_pData);
110 
111 
118 extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Add(orxHASHTABLE *_pstHashTable, orxU64 _u64Key, void *_pData);
119 
125 extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Remove(orxHASHTABLE *_pstHashTable, orxU64 _u64Key);
139 extern orxDLLAPI orxHANDLE orxFASTCALL orxHashTable_GetNext(const orxHASHTABLE *_pstHashTable, orxHANDLE _hIterator, orxU64 *_pu64Key, void **_ppData);
146 extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Optimize(orxHASHTABLE *_pstHashTable);
147 
148 
149 #endif /* _orxHASHTABLE_H_ */
150 
struct __orxHASHTABLE_t orxHASHTABLE
Definition: orxHashTable.h:51
orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Delete(orxHASHTABLE *_pstHashTable)
orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Clear(orxHASHTABLE *_pstHashTable)
orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Set(orxHASHTABLE *_pstHashTable, orxU64 _u64Key, void *_pData)
void * orxHANDLE
Definition: orxType.h:166
orxDLLAPI orxU32 orxFASTCALL orxHashTable_GetCount(const orxHASHTABLE *_pstHashTable)
orxSTATUS
Definition: orxType.h:256
orxDLLAPI orxHANDLE orxFASTCALL orxHashTable_GetNext(const orxHASHTABLE *_pstHashTable, orxHANDLE _hIterator, orxU64 *_pu64Key, void **_ppData)
#define orxDLLAPI
Definition: orxDecl.h:370
orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Remove(orxHASHTABLE *_pstHashTable, orxU64 _u64Key)
orxDLLAPI void *orxFASTCALL orxHashTable_Get(const orxHASHTABLE *_pstHashTable, orxU64 _u64Key)
orxDLLAPI void **orxFASTCALL orxHashTable_Retrieve(orxHASHTABLE *_pstHashTable, orxU64 _u64Key)
orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Optimize(orxHASHTABLE *_pstHashTable)
orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Add(orxHASHTABLE *_pstHashTable, orxU64 _u64Key, void *_pData)

Generated for orx by doxygen 1.8.11