CX Framework
Cross-platform C utility framework
Loading...
Searching...
No Matches
ssdtreeobj.cxh
1#include <cx/ssdtree/ssdshared.h>
2#include <cx/thread/mutex.h>
3
4#ifdef SSD_LOCK_DEBUG
5typedef struct SSDTreeDebug {
6 Mutex mtx;
7 sa_SSDLockDebug readlocks;
8 sa_SSDLockDebug writelocks;
9} SSDTreeDebug;
10#else
11typedef struct SSDTreeDebug {
12 uint32 _dummy;
13} SSDTreeDebug;
14#endif
15
16class SSDTree {
17 RWLock lock;
18 SSDTreeDebug dbg;
19 uint32 flags;
20
21 // The most recent last-modified timestamp of any node in the tree
22 int64 modified;
23
24 // Factory functions for if this tree wants to use derived node classes
25 SSDNodeFactory factories[SSD_Create_Count];
26
27 [sal _objfactory_guaranteed] SSDNode *createNode([sal _In_range_(SSD_Create_None+1, SSD_Create_Count-1)] SSDCreateType crtype);
28
29 factory create(uint32 flags);
30}