summaryrefslogtreecommitdiffhomepage
path: root/Private/CFKit/GUIDWrapper.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'Private/CFKit/GUIDWrapper.hpp')
-rw-r--r--Private/CFKit/GUIDWrapper.hpp67
1 files changed, 35 insertions, 32 deletions
diff --git a/Private/CFKit/GUIDWrapper.hpp b/Private/CFKit/GUIDWrapper.hpp
index f332e119..15e59d1c 100644
--- a/Private/CFKit/GUIDWrapper.hpp
+++ b/Private/CFKit/GUIDWrapper.hpp
@@ -20,40 +20,43 @@
// eXtensible Resource Information
namespace hCore::XRN
{
- union GUIDSequence
+union GUIDSequence {
+ alignas(8) UShort u8[16];
+ alignas(8) UShort u16[8];
+ alignas(8) UInt u32[4];
+ alignas(8) ULong u64[2];
+
+ struct
{
- alignas(8) UShort u8[16];
- alignas(8) UShort u16[8];
- alignas(8) UInt u32[4];
- alignas(8) ULong u64[2];
-
- struct
- {
- alignas(8) UInt m_Ms1;
- UShort m_Ms2;
- UShort m_Ms3;
- UChar m_Ms4[8];
- };
+ alignas(8) UInt m_Ms1;
+ UShort m_Ms2;
+ UShort m_Ms3;
+ UChar m_Ms4[8];
};
+};
+
+class GUID final
+{
+ public:
+ explicit GUID() = default;
+ ~GUID() = default;
+
+ public:
+ GUID &operator=(const GUID &) = default;
+ GUID(const GUID &) = default;
- class GUID final
+ public:
+ GUIDSequence &operator->() noexcept
{
- public:
- explicit GUID() = default;
- ~GUID() = default;
-
- public:
- GUID &operator=(const GUID &) = default;
- GUID(const GUID &) = default;
-
- public:
- GUIDSequence &operator->()
- {
- return m_UUID;
- }
-
- private:
- GUIDSequence m_UUID;
-
- };
+ return m_UUID;
+ }
+
+ GUIDSequence &Leak() noexcept
+ {
+ return m_UUID;
+ }
+
+ private:
+ GUIDSequence m_UUID;
+};
} // namespace hCore::XRN