35 lines
1.1 KiB
C
35 lines
1.1 KiB
C
|
//--------------------------------------------------------------------
|
||
|
// An example of how to create a wrapper for CLKRHashTable
|
||
|
//--------------------------------------------------------------------
|
||
|
|
||
|
#include <lkrhash.h>
|
||
|
|
||
|
|
||
|
#ifndef __LKRHASH_NO_NAMESPACE__
|
||
|
#define LKRHASH_NS LKRhash
|
||
|
// using namespace LKRhash;
|
||
|
#else // __LKRHASH_NO_NAMESPACE__
|
||
|
#define LKRHASH_NS
|
||
|
#endif // __LKRHASH_NO_NAMESPACE__
|
||
|
|
||
|
#ifndef __HASHFN_NO_NAMESPACE__
|
||
|
#define HASHFN_NS HashFn
|
||
|
// using namespace HashFn;
|
||
|
#else // __HASHFN_NO_NAMESPACE__
|
||
|
#define HASHFN_NS
|
||
|
#endif // __HASHFN_NO_NAMESPACE__
|
||
|
|
||
|
|
||
|
class CNumberTestHashTable
|
||
|
: public LKRHASH_NS::CTypedHashTable<CNumberTestHashTable, int, int>
|
||
|
{
|
||
|
public:
|
||
|
CNumberTestHashTable()
|
||
|
: LKRHASH_NS::CTypedHashTable<CNumberTestHashTable, int, int>(
|
||
|
"NumberSet") {}
|
||
|
static int ExtractKey(const int* pn) {return (int) (DWORD_PTR) pn;}
|
||
|
static DWORD CalcKeyHash(int nKey) {return nKey;}
|
||
|
static bool EqualKeys(int nKey1, int nKey2) {return nKey1 == nKey2;}
|
||
|
static void AddRefRecord(const int* pn, LK_ADDREF_REASON lkar) {}
|
||
|
};
|