21 lines
462 B
C++
21 lines
462 B
C++
#include "Allocate.h"
|
|
|
|
int IDManager::id = 0;
|
|
std::map<int, std::string> IDManager::idToName;
|
|
std::map<std::string, int> IDManager::nameToID;
|
|
|
|
|
|
int IDManager::allocate() {
|
|
return ++id;
|
|
}
|
|
|
|
int IDManager::getOrAllocate(std::string name) {
|
|
if(nameToID.count(name))
|
|
return nameToID[name];
|
|
int tid = allocate();
|
|
nameToID[name] = tid;
|
|
idToName[tid] = name;
|
|
|
|
CNF::comment("MAP: " + name + " -> " + std::to_string(tid));
|
|
return tid;
|
|
} |