34#include <NDEVR/Vector.h>
35#include <NDEVR/ObjectInfo.h>
74 explicit UUID(
const bool& other) noexcept
164 id[i] =
id[i] ^ *identifier;
180 template<u
int01 t_size,
class t_type>
184 for (
uint01 i = 0; i < t_size; i++)
190 std::size_t value = 0;
191 for (
uint01 i = 0; i < 8; i++)
193 value = value * 256 + ((*this)[i + 0] ^ (*this)[i + 8]);
203 for (
uint01 i = 0; i < 16; i++)
205 if ((*
this)[i] == other[i])
207 return (*
this)[i] < other[i];
213 for (
uint01 i = 0; i < 16; i++)
215 if ((*
this)[i] == other[i])
217 return (*
this)[i] < other[i];
223 for (
uint01 i = 0; i < 16; i++)
225 if ((*
this)[i] == other[i])
227 return (*
this)[i] > other[i];
233 for (
uint01 i = 0; i < 16; i++)
235 if ((*
this)[i] == other[i])
237 return (*
this)[i] > other[i];
249 static const bool Primitive =
true;
251 static const bool Unsigned =
false;
252 static const bool Float =
false;
253 static const bool Integer =
false;
254 static const bool Number =
false;
255 static const bool Enum =
false;
258 static const bool Boolean =
false;
272 std::size_t value = 0;
275 value = value * 256 + (s[i + 0U] ^ s[i + 8U]);
285 struct x4lo {
unsigned __int8 v : 4;
unsigned __int8 _ : 4; };
286 struct x4hi {
unsigned __int8 _ : 4;
unsigned __int8 v : 4; };
287 struct x8 {
unsigned __int8 _; };
288 struct x32 { __int32 _; };
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:64
Definition Pointer.hpp:62
constexpr size_t hash() const
Definition UUID.h:188
UUID(const uint04 &other) noexcept
Definition UUID.h:89
constexpr UUID()
Definition UUID.h:68
bool operator>=(const UUID &other) const
Definition UUID.h:231
UUID(const sint08 &other) noexcept
Definition UUID.h:114
UUID(const fltp04 &other) noexcept
Definition UUID.h:120
UUID(const bool &other) noexcept
Definition UUID.h:74
bool operator>(const UUID &other) const
Definition UUID.h:221
NDEVR_BASE_API uint01 * getUniquePointer() const
Definition UUID.cpp:25
UUID(const sint01 &other) noexcept
Definition UUID.h:99
UUID appendUUID(const Vector< t_size, t_type > &offset) const
Definition UUID.h:181
NDEVR_BASE_API UUID appendUUID(bool offset) const
Definition UUID.cpp:168
constexpr size_t operator()() const
Definition UUID.h:197
UUID(const sint02 &other) noexcept
Definition UUID.h:104
UUID(const sint04 &other) noexcept
Definition UUID.h:109
bool operator<=(const UUID &other) const
Definition UUID.h:211
constexpr UUID(const Vector< 16, uint01 > &bytes) noexcept
Definition UUID.h:71
bool operator<(const UUID &other) const
Definition UUID.h:201
UUID(const uint08 &other) noexcept
Definition UUID.h:94
UUID(const uint01 &other) noexcept
Definition UUID.h:79
static NDEVR_BASE_API UUID CreateUUID()
Definition UUID.cpp:150
static NDEVR_BASE_API constexpr UUID CreateUUID(const char *identifier)
Definition UUID.h:158
UUID(const fltp08 &other) noexcept
Definition UUID.h:125
UUID(const uint02 &other) noexcept
Definition UUID.h:84
An element of a vector space. An element of the real coordinate space Rn Basis vector,...
Definition Vector.hpp:62
int32_t sint04
-Defines an alias representing a 4 byte, signed integer. -Can represent exact integer values -2147483...
Definition BaseValues.hpp:76
int64_t sint08
-Defines an alias representing an 8 byte, signed integer -Can represent exact integer values -9223372...
Definition BaseValues.hpp:86
float fltp04
Defines an alias representing a 4 byte floating-point number.
Definition BaseValues.hpp:157
uint8_t uint01
-Defines an alias representing a 1 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:98
int8_t sint01
-Defines an alias representing a 1 byte, signed integer. -Can represent exact integer values -127 thr...
Definition BaseValues.hpp:56
int16_t sint02
-Defines an alias representing a 2 byte, signed integer. -Can represent exact integer values -32767 t...
Definition BaseValues.hpp:66
uint64_t uint08
-Defines an alias representing an 8 byte, unsigned integer -Can represent exact integer values 0 thro...
Definition BaseValues.hpp:132
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:120
uint16_t uint02
-Defines an alias representing a 2 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:109
double fltp08
Defines an alias representing an 8 byte floating-point number.
Definition BaseValues.hpp:181
Definition BaseValues.hpp:272
static constexpr ObjectInfo< uint01, false, false > VectorSub()
Definition UUID.h:259
Information about the object.
Definition ObjectInfo.h:56
std::size_t operator()(const NDEVR::UUID &s) const noexcept
Definition UUID.h:270