21 m_LengthOfRandomPart(lengthOfRandomPart),
22 m_Distribution(
std::uniform_int_distribution<unsigned long>(0,
std::numeric_limits<unsigned long>::
max()))
30 auto time = std::time(
nullptr);
31 auto tm = std::localtime(&time);
33 s << std::put_time(tm,
"%Y%m%d%H%M%S");
35 std::ostringstream rs;
37 static std::random_device rd;
38 static std::mt19937 generator(rd());
40 while (rs.str().length() < m_LengthOfRandomPart)
42 rs << m_Distribution(generator);
45 auto randomString = rs.str();
47 if (randomString.length() > m_LengthOfRandomPart)
49 randomString = randomString.substr(randomString.length() - m_LengthOfRandomPart);
UIDGenerator(const char *prefix="UID_", unsigned int lengthOfRandomPart=8)