29 lines
466 B
C
29 lines
466 B
C
|
// MyMap.h
|
||
|
|
||
|
#ifndef __COMMON_MYMAP_H
|
||
|
#define __COMMON_MYMAP_H
|
||
|
|
||
|
#include "MyTypes.h"
|
||
|
#include "MyVector.h"
|
||
|
|
||
|
class CMap32
|
||
|
{
|
||
|
struct CNode
|
||
|
{
|
||
|
UInt32 Key;
|
||
|
UInt32 Keys[2];
|
||
|
UInt32 Values[2];
|
||
|
UInt16 Len;
|
||
|
Byte IsLeaf[2];
|
||
|
};
|
||
|
CRecordVector<CNode> Nodes;
|
||
|
|
||
|
public:
|
||
|
|
||
|
void Clear() { Nodes.Clear(); }
|
||
|
bool Find(UInt32 key, UInt32 &valueRes) const throw();
|
||
|
bool Set(UInt32 key, UInt32 value); // returns true, if there is such key already
|
||
|
};
|
||
|
|
||
|
#endif
|