diff options
| -rw-r--r-- | zencore/include/zencore/uid.h | 1 | ||||
| -rw-r--r-- | zencore/uid.cpp | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/zencore/include/zencore/uid.h b/zencore/include/zencore/uid.h index 2730b1415..f095c49ef 100644 --- a/zencore/include/zencore/uid.h +++ b/zencore/include/zencore/uid.h @@ -60,6 +60,7 @@ struct Oid const Oid& Generate(); [[nodiscard]] static Oid FromHexString(const std::string_view String); StringBuilderBase& ToString(StringBuilderBase& OutString) const; + [[nodiscard]] static Oid FromMemory(const void* Ptr); auto operator<=>(const Oid& rhs) const = default; [[nodiscard]] inline operator bool() const { return *this == Zero; } diff --git a/zencore/uid.cpp b/zencore/uid.cpp index acf9f9790..d946638ec 100644 --- a/zencore/uid.cpp +++ b/zencore/uid.cpp @@ -83,6 +83,14 @@ Oid::FromHexString(const std::string_view String) } } +Oid +Oid::FromMemory(const void* Ptr) +{ + Oid Id; + memcpy(Id.OidBits, Ptr, sizeof Id); + return Id; +} + StringBuilderBase& Oid::ToString(StringBuilderBase& OutString) const { |