diff options
| author | Martin Ridgers <[email protected]> | 2021-09-21 11:06:13 +0200 |
|---|---|---|
| committer | Martin Ridgers <[email protected]> | 2021-09-21 11:06:13 +0200 |
| commit | 68c951e0f440ffd483795dced737e88152c1a581 (patch) | |
| tree | 5c0910ca2a85b45fb05dba3ce457b7d156213894 /zencore/uid.cpp | |
| parent | Merge main into linux-mac (diff) | |
| parent | Trigger storage scrubbing pass at startup (diff) | |
| download | zen-68c951e0f440ffd483795dced737e88152c1a581.tar.xz zen-68c951e0f440ffd483795dced737e88152c1a581.zip | |
Merged main into linux-mac
Diffstat (limited to 'zencore/uid.cpp')
| -rw-r--r-- | zencore/uid.cpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/zencore/uid.cpp b/zencore/uid.cpp index acf9f9790..d4b708288 100644 --- a/zencore/uid.cpp +++ b/zencore/uid.cpp @@ -4,6 +4,7 @@ #include <zencore/endian.h> #include <zencore/string.h> +#include <zencore/testing.h> #include <atomic> #include <bit> @@ -12,8 +13,6 @@ #include <set> #include <unordered_map> -#include <doctest/doctest.h> - namespace zen { ////////////////////////////////////////////////////////////////////////// @@ -83,10 +82,24 @@ Oid::FromHexString(const std::string_view String) } } +Oid +Oid::FromMemory(const void* Ptr) +{ + Oid Id; + memcpy(Id.OidBits, Ptr, sizeof Id); + return Id; +} + +void +Oid::ToString(char OutString[StringLength]) +{ + ToHexBytes(reinterpret_cast<const uint8_t*>(OidBits), sizeof(Oid::OidBits), OutString); +} + StringBuilderBase& Oid::ToString(StringBuilderBase& OutString) const { - char str[25]; + char str[StringLength + 1]; ToHexBytes(reinterpret_cast<const uint8_t*>(OidBits), sizeof(Oid::OidBits), str); str[2 * sizeof(Oid)] = '\0'; @@ -95,6 +108,8 @@ Oid::ToString(StringBuilderBase& OutString) const return OutString; } +#if ZEN_WITH_TESTS + TEST_CASE("Oid") { SUBCASE("Basic") @@ -129,4 +144,6 @@ uid_forcelink() { } +#endif + } // namespace zen |