#include "Allocate.h" int IDManager::id = 0; std::map IDManager::idToName; std::map 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; }