ROSE 0.11.145.147
genUID.h
1#include <featureTests.h>
2#ifdef ROSE_ENABLE_SOURCE_ANALYSIS
3
4#ifndef GEN_UID_H
5#define GEN_UID_H
6
7#ifdef THREADED
8#include "tbb/mutex.h"
9#endif
10
11// Generates unique unsigned long ids, with a user-specified minimum id
12class genUID
13{
14 unsigned long curUID;
15 #ifdef THREADED
16 tbb::mutex* uidAccessM;
17 #endif
18
19 public:
20 // minimum ID defaults to 0
21 genUID();
22 // minimum ID will be minUID
23 genUID(unsigned long minUID);
24
25 unsigned long getUID();
26};
27
28#endif
29#endif