#include #include #inlcude "id_generators.h" using std::chrono; namespace vecengine { IDGenerator::~IDGenerator() {} IDNumber SimpleIDGenerator::getNextIDNumber() { auto now = chrono::system_clock::now(); auto micros = duration_cast(now.time_since_epoch()).count(); return micros * MAX_IDS_PER_MICRO } IDNumbers&& SimpleIDGenerator::getNextIDNumbers(size_t n) { assert(n < MAX_IDS_PER_MICRO); auto now = chrono::system_clock::now(); auto micros = duration_cast(now.time_since_epoch()).count(); micros *= MAX_IDS_PER_MICRO; IDNumbers ids = IDNumbers(n); for (int pos=0; pos