Eile Mit Weile
Loading...
Searching...
No Matches
uuid_generator.hpp
1// Helper class to generate unique ids.
2// from https://stackoverflow.com/questions/24365331/how-can-i-generate-uuid-in-c-without-using-boost-library
3
4#ifndef EILE_MIT_WEILE_UUI_GENERATOR_HPP
5#define EILE_MIT_WEILE_UUI_GENERATOR_HPP
6
7
8#include <random>
9#include <sstream>
10
17 public:
18 static std::string GenerateUuidV4() {
19 std::stringstream ss;
20 std::random_device rd;
21 std::mt19937 gen(rd());
22 std::uniform_int_distribution<> dis(0, 15);
23 std::uniform_int_distribution<> dis2(8, 11);
24
25 int i;
26 ss << std::hex;
27 for (i = 0; i < 8; i++) {
28 ss << dis(gen);
29 }
30 ss << "-";
31 for (i = 0; i < 4; i++) {
32 ss << dis(gen);
33 }
34 ss << "-4";
35 for (i = 0; i < 3; i++) {
36 ss << dis(gen);
37 }
38 ss << "-";
39 ss << dis2(gen);
40 for (i = 0; i < 3; i++) {
41 ss << dis(gen);
42 }
43 ss << "-";
44 for (i = 0; i < 12; i++) {
45 ss << dis(gen);
46 }
47 return ss.str();
48 }
49};
50
51#endif //EILE_MIT_WEILE_UUI_GENERATOR_HPP
A serializable value, used for writing values into json.
Definition serializable_value.hpp:28
Helper class to generate unique ids.
Definition uuid_generator.hpp:16
static std::string GenerateUuidV4()
Definition uuid_generator.hpp:18