acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
guid.h
1// Created by camilo on 2026-05-02 00:16 <3ThomasBorregaardSørensen!!
2#pragma once
3
4
5namespace acme
6{
7
8
9#pragma pack(push, guid, 1)
10
11
12 struct guid_t
13 {
14 ulong Data1;
15 ::u16 Data2;
16 ::u16 Data3;
17 ::u8 Data4[8];
18 };
19
20#pragma pack(pop, guid)
21
22
23 class CLASS_DECL_ACME guid : public guid_t
24 {
25 public:
26 guid() noexcept :
27 guid_t{ 0, 0, 0, {0} }
28 {}
29 guid(const guid & guid) noexcept :
30 guid_t{ guid.Data1, guid.Data2, guid.Data3,
31 {guid.Data4[0], guid.Data4[1], guid.Data4[2], guid.Data4[3],
32 guid.Data4[4], guid.Data4[5], guid.Data4[6], guid.Data4[7] } }
33 {
34 }
35// guid(const_char_pointer psz) noexcept
36 // {}
37
38 guid(const string & str) noexcept;
39 bool operator == (const guid & guid) const noexcept
40 {
41
42 return Data1 == guid.Data1
43 && Data2 == guid.Data2
44 && Data3 == guid.Data3
45 && Data4[0] == guid.Data4[0]
46 && Data4[1] == guid.Data4[1]
47 && Data4[2] == guid.Data4[2]
48 && Data4[3] == guid.Data4[3]
49 && Data4[4] == guid.Data4[4]
50 && Data4[5] == guid.Data4[5]
51 && Data4[6] == guid.Data4[6]
52 && Data4[7] == guid.Data4[7];
53
54 }
55 // bool operator != (const guid & guid) const noexcept;
56 string to_string() const
57 {
58 string str;
59 str.format("%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
60 Data1, Data2, Data3,
61 Data4[0], Data4[1], Data4[2], Data4[3],
62 Data4[4], Data4[5], Data4[6], Data4[7]);
63 return str;
64 }
65
66 };
67
68
69} // namespace acme
70
71
72
73
include "aura/graphics/image/context.h"
Definition aaaa__defer.h:32
Definition guid.h:13