gantang/src/Allocate.cpp
2022-11-18 11:48:44 +08:00

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;
}