guid.h
Go to the documentation of this file.
1 
11 #ifndef opcua_guid_h_
12 #define opcua_guid_h_
13 
14 #include <stdint.h>
15 #include <string>
16 
17 namespace OpcUa
18 {
19 struct Guid
20 {
21  uint32_t Data1;
22  uint16_t Data2;
23  uint16_t Data3;
24  uint8_t Data4[8];
25 
26  Guid()
27  : Data1(0)
28  , Data2(0)
29  , Data3(0)
30  {
31  for (unsigned i = 0; i < 8; ++i)
32  {
33  Data4[i] = 0;
34  }
35  }
36 
37  inline bool operator== (const Guid & r) const
38  {
39  for (unsigned i = 0; i < 8; ++i)
40  {
41  if (Data4[i] != r.Data4[i])
42  {
43  return false;
44  }
45  }
46 
47  return Data1 == r.Data1 && Data2 == r.Data2 && Data3 == r.Data3;
48  }
49 
50  inline bool operator< (const Guid & r) const
51  {
52  if (Data1 > r.Data1)
53  {
54  return false;
55  }
56 
57  if (Data1 < r.Data1)
58  {
59  return true;
60  }
61 
62  if (Data2 > r.Data2)
63  {
64  return false;
65  }
66 
67  if (Data2 < r.Data2)
68  {
69  return true;
70  }
71 
72  if (Data3 > r.Data3)
73  {
74  return false;
75  }
76 
77  if (Data3 < r.Data3)
78  {
79  return true;
80  }
81 
82  for (unsigned i = 0; i < 8; ++i)
83  {
84  if (Data4[i] > r.Data4[i])
85  {
86  return false;
87  }
88 
89  if (Data4[i] < r.Data4[i])
90  {
91  return true;
92  }
93  }
94 
95  return false;
96  }
97 
98 };
99 
100 } // namespace OpcUa
101 
102 #endif // opcua_guid_h_
103 
uint16_t Data2
Definition: guid.h:22
uint32_t Data1
Definition: guid.h:21
bool operator==(const Guid &r) const
Definition: guid.h:37
bool operator<(const Guid &r) const
Definition: guid.h:50
uint16_t Data3
Definition: guid.h:23
OPC UA Address space part. GNU LGPL.
uint8_t Data4[8]
Definition: guid.h:24
Guid()
Definition: guid.h:26


ros_opcua_impl_freeopcua
Author(s): Denis Štogl
autogenerated on Tue Jan 19 2021 03:12:06