7#ifndef ARP_USE_ARP_SYSTEM_COMMONS
8#include "Arp/Base/Commons/Configuration/Uuid.hpp"
15#include <boost/uuid/uuid.hpp>
18namespace Arp {
namespace System {
namespace Commons {
namespace Configuration
28 using BasicUuid = boost::uuids::uuid;
39 ~Uuid(
void) =
default;
70 void CopyTo(
byte* pBuffer)
const;
86struct hash<
Arp::System::Commons::Configuration::Uuid>
90 typedef size_t result_type;
93 result_type operator()(
const argument_type& key)
const
99template<>
struct fmt::formatter<
Arp::System::Commons::Configuration::Uuid>:
public fmt::ostream_formatter {};
This class represents a Universal Unique ID.
Definition: Uuid.hpp:16
static Uuid CreateFromLittleEndian(const byte *pData)
Creates a new unique Uuid from the given bytes.
Definition: Uuid.cpp:165
ARP_EXPORT friend bool operator>(const Uuid &lhs, const Uuid &rhs) noexcept
The greater operator compares 2 Uuids.
Definition: Uuid.cpp:95
ARP_EXPORT friend bool operator<(const Uuid &lhs, const Uuid &rhs) noexcept
The less operator compares 2 Uuids.
Definition: Uuid.cpp:84
~Uuid(void)
The default destructor.
void CopyLittleEndianTo(byte *pData) const
Copies the binary data of this Uuid to the supplied buffer in little endian format.
Definition: Uuid.cpp:226
void Clear(void)
Empties this instance.
Definition: Uuid.cpp:212
static Uuid CreateNew(void)
Creates a new unique Uuid.
Definition: Uuid.cpp:149
size_t GetHashValue(void) const
Returns the hash value of this Uuid.
Definition: Uuid.cpp:206
ARP_EXPORT friend std::istream & operator>>(std::istream &is, Uuid &id)
The istream operator is used for string parsing.
Definition: Uuid.cpp:135
static bool TryParse(const String &input, Uuid &result)
Tries to creates a new Uuid by parsing the supplied string.
Definition: Uuid.cpp:185
static Uuid Parse(const String &input)
Creates a new Uuid by parsing the supplied string.
Definition: Uuid.cpp:176
ARP_EXPORT friend std::ostream & operator<<(std::ostream &os, const Uuid &id)
The ostream operator is used for logging and string formatting.
Definition: Uuid.cpp:126
ARP_EXPORT friend bool operator!=(const Uuid &lhs, const Uuid &rhs) noexcept
The inequality operator compares 2 Uuids.
Definition: Uuid.cpp:73
ARP_EXPORT friend bool operator>=(const Uuid &lhs, const Uuid &rhs) noexcept
The greater-or-equal operator compares 2 Uuids.
Definition: Uuid.cpp:117
Uuid(void)
Constructs an empty Uuid instance.
Definition: Uuid.cpp:55
bool IsEmpty(void) const
Determines if this instance is empty.
Definition: Uuid.cpp:192
ARP_EXPORT friend bool operator<=(const Uuid &lhs, const Uuid &rhs) noexcept
The less-or-equal operator compares 2 Uuids.
Definition: Uuid.cpp:106
ARP_EXPORT friend bool operator==(const Uuid &lhs, const Uuid &rhs) noexcept
The equality operator compares 2 Uuids.
Definition: Uuid.cpp:64
void CopyTo(byte *pData) const
Copies the binary data of this Uuid to the supplied buffer.
Definition: Uuid.cpp:219
String ToString(void) const
Returns the string representation of this Uuid.
Definition: Uuid.cpp:199
static Uuid Create(const byte *pData)
Creates a new unique Uuid from the given bytes.
Definition: Uuid.cpp:157
Uuid & operator=(const Uuid &arg)
THe default copy-assignment operator.
@ Empty
No sink assigned to session yet.
Namespace for configuration related classes
Root namespace for the PLCnext API
Namespace of the C++ standard library