8#include "Arp/Base/Core/PimplPtr.hxx"
10namespace Arp::Base::Commons::Configuration
30 ARP_EXPORT
friend bool operator==(
const Uuid& lhs,
const Uuid& rhs)
noexcept;
31 ARP_EXPORT
friend bool operator!=(
const Uuid& lhs,
const Uuid& rhs)
noexcept;
32 ARP_EXPORT
friend bool operator<(
const Uuid& lhs,
const Uuid& rhs)
noexcept;
33 ARP_EXPORT
friend bool operator>(
const Uuid& lhs,
const Uuid& rhs)
noexcept;
34 ARP_EXPORT
friend bool operator<=(
const Uuid& lhs,
const Uuid& rhs)
noexcept;
35 ARP_EXPORT
friend bool operator>=(
const Uuid& lhs,
const Uuid& rhs)
noexcept;
38 ARP_EXPORT
friend std::ostream& operator<<(std::ostream& os,
const Uuid&
id);
39 ARP_EXPORT
friend std::istream& operator>>(std::istream& is,
Uuid&
id);
42 static Uuid GetEmpty(
void);
45 static Uuid CreateFromLittleEndian(
const byte* pData);
47 static bool TryParse(
const String& input,
Uuid& result);
50 bool IsEmpty(
void)
const;
53 String ToString(
void)
const;
54 size_t GetHashValue(
void)
const;
56 void CopyTo(
byte* pData)
const;
57 void CopyLittleEndianTo(
byte* pData)
const;
61 const Impl& GetImpl(
void)
const;
74template<>
struct fmt::formatter<
Arp::Base::Commons::Configuration::Uuid> :
public fmt::ostream_formatter {};
83struct hash<
Arp::Base::Commons::Configuration::Uuid>
This class represents a Universal Unique ID.
Definition: Uuid.hpp:16
~Uuid(void)
The default destructor.
size_t GetHashValue(void) const
Returns the hash value of this Uuid.
Definition: Uuid.cpp:206
Uuid(const Uuid &arg)
The default copy constructor.
Uuid & operator=(Uuid &&arg) noexcept
The default move-assignment operator.
Uuid & operator=(const Uuid &arg)
THe default copy-assignment operator.
Uuid(Uuid &&arg) noexcept
The default move constructor.
Adapter class to implement PImpl idiom.
Definition: PimplPtr.hxx:15
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
@ CreateNew
Creates a new file. An exception is raised if the file already exists.
@ Create
Creates a new file. If the file already exists, it is overwritten.
Root namespace for the PLCnext API
Namespace of the C++ standard library
size_t result_type
The result type (hash policy)
Definition: Uuid.hpp:87
result_type operator()(const argument_type &arg) const
Implementation of hash functor of class Uuid The hash value of arg .
Definition: Uuid.hpp:93