diff options
author | rtk0c <[email protected]> | 2023-10-19 22:50:07 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2023-10-19 22:50:07 -0700 |
commit | 2c92e07f337e42cf58970443f9de678f85a9b2a4 (patch) | |
tree | 075d5407e1e12a9d35cbee6e4c20ad34e0765c42 /source/10-common/Uid.cpp | |
parent | 615809c036f604bce4582cea8ad49c64693f4f45 (diff) |
The great renaming: switch to "module style"
Diffstat (limited to 'source/10-common/Uid.cpp')
-rw-r--r-- | source/10-common/Uid.cpp | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/source/10-common/Uid.cpp b/source/10-common/Uid.cpp deleted file mode 100644 index 58dfffd..0000000 --- a/source/10-common/Uid.cpp +++ /dev/null @@ -1,70 +0,0 @@ -#include "Uid.hpp" - -#include "RapidJsonHelper.hpp" - -#include <rapidjson/document.h> -#include <cstring> -#include <random> - -Uid Uid::Create() { - std::random_device rd; - std::mt19937_64 gen(rd()); - std::uniform_int_distribution<uint64_t> dist( - std::numeric_limits<uint64_t>::min(), - std::numeric_limits<uint64_t>::max()); - - Uid uid; - uid.upper = dist(gen); - uid.lower = dist(gen); - return uid; -} - -bool Uid::IsNull() const { - return upper == 0 && lower == 0; -} - -void Uid::ReadString(std::string_view str) { - sscanf(str.data(), BRUSSEL_Uid_SCAN_STR, &upper, &lower); -} - -std::string Uid::WriteString() { - char buf[256]; - snprintf(buf, sizeof(buf), BRUSSEL_Uid_FORMAT_STR, upper, lower); - return std::string(buf); -} - -void Uid::Read(const rapidjson::Value& value) { - if (value.IsString()) { - ReadString(rapidjson::AsStringView(value)); - } else if (value.IsArray()) { - // Compatibility support - assert(value.Size() == 2); - auto& upper = value[0]; - assert(upper.IsUint64()); - auto& lower = value[1]; - assert(lower.IsUint64()); - - this->upper = upper.GetUint64(); - this->lower = lower.GetUint64(); - } else { - assert(false); - } -} - -void Uid::WriteInto(rapidjson::Value& value, rapidjson::Document& root) const { -#if BRUSSEL_Uid_WRITE_USE_ARRAY - value.Reserve(2, root.GetAllocator()); - value.PushBack((uint64_t)upper, root.GetAllocator()); - value.PushBack((uint64_t)lower, root.GetAllocator()); -#else - char buf[256]; - int len = snprintf(buf, sizeof(buf), BRUSSEL_Uid_FORMAT_STR, upper, lower); - value.SetString(buf, len, root.GetAllocator()); -#endif -} - -rapidjson::Value Uid::Write(rapidjson::Document& root) const { - rapidjson::Value result(rapidjson::kArrayType); - WriteInto(result, root); - return result; -} |