orx 1.16
Portable Game Engine
Loading...
Searching...
No Matches
orxHashTable.h
Go to the documentation of this file.
1/* Orx - Portable Game Engine
2 *
3 * Copyright (c) 2008- 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
33
42
43
44#ifndef _orxHASHTABLE_H_
45#define _orxHASHTABLE_H_
46
47#include "orxInclude.h"
48#include "memory/orxMemory.h"
49
50/* Internal hash table structure */
51typedef struct __orxHASHTABLE_t orxHASHTABLE;
52
53/* Define flags */
54#define orxHASHTABLE_KU32_FLAG_NONE 0x00000000
55#define orxHASHTABLE_KU32_FLAG_NOT_EXPANDABLE 0x00000001
56
57
66extern orxDLLAPI orxHASHTABLE *orxFASTCALL orxHashTable_Create(orxU32 _u32NbKey, orxU32 _u32Flags, orxMEMORY_TYPE _eMemType);
67
72extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Delete(orxHASHTABLE *_pstHashTable);
73
78extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Clear(orxHASHTABLE *_pstHashTable);
80
85extern orxDLLAPI orxU32 orxFASTCALL orxHashTable_GetCount(const orxHASHTABLE *_pstHashTable);
86
94extern orxDLLAPI void *orxFASTCALL orxHashTable_Get(const orxHASHTABLE *_pstHashTable, orxU64 _u64Key);
95
101extern orxDLLAPI void **orxFASTCALL orxHashTable_Retrieve(orxHASHTABLE *_pstHashTable, orxU64 _u64Key);
102
109extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Set(orxHASHTABLE *_pstHashTable, orxU64 _u64Key, void *_pData);
110
111
118extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Add(orxHASHTABLE *_pstHashTable, orxU64 _u64Key, void *_pData);
119
125extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Remove(orxHASHTABLE *_pstHashTable, orxU64 _u64Key);
127
128
139extern orxDLLAPI orxHANDLE orxFASTCALL orxHashTable_GetNext(const orxHASHTABLE *_pstHashTable, orxHANDLE _hIterator, orxU64 *_pu64Key, void **_ppData);
141
146extern orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Optimize(orxHASHTABLE *_pstHashTable);
147
148
149#endif /* _orxHASHTABLE_H_ */
150
#define orxDLLAPI
Definition orxDecl.h:381
orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Set(orxHASHTABLE *_pstHashTable, orxU64 _u64Key, void *_pData)
orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Optimize(orxHASHTABLE *_pstHashTable)
orxDLLAPI void *orxFASTCALL orxHashTable_Get(const orxHASHTABLE *_pstHashTable, orxU64 _u64Key)
orxDLLAPI orxU32 orxFASTCALL orxHashTable_GetCount(const orxHASHTABLE *_pstHashTable)
struct __orxHASHTABLE_t orxHASHTABLE
orxDLLAPI orxHASHTABLE *orxFASTCALL orxHashTable_Create(orxU32 _u32NbKey, orxU32 _u32Flags, orxMEMORY_TYPE _eMemType)
orxDLLAPI orxHANDLE orxFASTCALL orxHashTable_GetNext(const orxHASHTABLE *_pstHashTable, orxHANDLE _hIterator, orxU64 *_pu64Key, void **_ppData)
orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Add(orxHASHTABLE *_pstHashTable, orxU64 _u64Key, void *_pData)
orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Delete(orxHASHTABLE *_pstHashTable)
orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Remove(orxHASHTABLE *_pstHashTable, orxU64 _u64Key)
orxDLLAPI orxSTATUS orxFASTCALL orxHashTable_Clear(orxHASHTABLE *_pstHashTable)
orxDLLAPI void **orxFASTCALL orxHashTable_Retrieve(orxHASHTABLE *_pstHashTable, orxU64 _u64Key)
orxMEMORY_TYPE
Definition orxMemory.h:95
void * orxHANDLE
Definition orxType.h:166
orxSTATUS
Definition orxType.h:270

Generated for orx by doxygen 1.8.11