28 VersionNumber() : _value(nextVersionNumber()), _time(std::chrono::system_clock::
now()) {}
37 explicit VersionNumber(std::chrono::system_clock::time_point timestamp);
48 [[nodiscard]] std::chrono::time_point<std::chrono::system_clock>
getTime()
const {
return _time; }
67 explicit operator std::string()
const;
78 std::chrono::time_point<std::chrono::system_clock> _time;
87 static uint64_t nextVersionNumber() {
return ++_lastGeneratedVersionNumber; }
92 static std::atomic<uint64_t> _lastGeneratedVersionNumber;
100 : _value(nextVersionNumber()), _time(timestamp) {}