aboutsummaryrefslogtreecommitdiff
path: root/dep/CascLib/src/common/Map.h
diff options
context:
space:
mode:
authorLopfest <lopfest@gmail.com>2016-02-20 23:59:56 +0100
committerLopfest <lopfest@gmail.com>2016-02-20 23:59:56 +0100
commitfacdc62b433787326673a4db05aab76d75e1283f (patch)
treef76f4e3467e3fe909da8b4e5bc5962712642e493 /dep/CascLib/src/common/Map.h
parentd11eb335c996b398f4f8bdb10558dfba9af637f4 (diff)
parent716c952cb9f7bc0f75308bb4a716cdfe7de17281 (diff)
Merge remote-tracking branch 'upstream/6.x' into HEAD
Diffstat (limited to 'dep/CascLib/src/common/Map.h')
-rw-r--r--dep/CascLib/src/common/Map.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/dep/CascLib/src/common/Map.h b/dep/CascLib/src/common/Map.h
index 40ea4238b81..7b0c1321e6c 100644
--- a/dep/CascLib/src/common/Map.h
+++ b/dep/CascLib/src/common/Map.h
@@ -20,20 +20,23 @@ typedef struct _CASC_MAP
{
size_t TableSize;
size_t ItemCount; // Number of items in the map
- size_t MemberOffset; // How far is the hash from the begin of the structure (in bytes)
+ size_t KeyOffset; // How far is the hash from the begin of the structure (in bytes)
size_t KeyLength; // Length of the hash key
void * HashTable[1]; // Pointer table
} CASC_MAP, *PCASC_MAP;
+typedef bool (*MAP_COMPARE)(PCASC_MAP pMap, void * pvObject, void * pvKey);
+
//-----------------------------------------------------------------------------
// Functions
-PCASC_MAP Map_Create(DWORD dwMaxItems, DWORD dwKeyLength, DWORD dwMemberOffset);
+PCASC_MAP Map_Create(DWORD dwMaxItems, DWORD dwKeyLength, DWORD dwKeyOffset);
size_t Map_EnumObjects(PCASC_MAP pMap, void **ppvArray);
-void * Map_FindObject(PCASC_MAP pMap, void * pvIdentifier);
-bool Map_InsertObject(PCASC_MAP pMap, void * pvIdentifier);
-void Map_Sort(PCASC_MAP pMap);
+void * Map_FindObject(PCASC_MAP pMap, void * pvKey, PDWORD PtrIndex);
+bool Map_InsertObject(PCASC_MAP pMap, void * pvNewObject, void * pvKey);
+const char * Map_FindString(PCASC_MAP pMap, const char * szString, const char * szStringEnd);
+bool Map_InsertString(PCASC_MAP pMap, const char * szString, bool bCutExtension);
void Map_Free(PCASC_MAP pMap);
#endif // __HASHTOPTR_H__