6#ifndef ACTIVE_SERIALISE_IDENTITY
7#define ACTIVE_SERIALISE_IDENTITY
9#include "Active/Utility/String.h"
72struct std::hash<active::serialise::Identity> {
74 std::size_t h1 = std::hash<active::utility::String>{}(identity.
name);
77 std::size_t h2 = std::hash<active::utility::String>{}(*identity.
group);
78 return h1 ^ (h2 << 1);
A Unicode-aware string class.
Definition String.h:51
std::optional< String > Option
Optional.
Definition String.h:63
bool operator!=(const Identity &lhs, const Identity &rhs)
Equality operator.
Definition Identity.h:64
bool operator==(const Identity &lhs, const Identity &rhs)
Equality operator.
Definition Identity.h:59
bool operator<(const Identity &lhs, const Identity &rhs)
Less-than operator.
Definition Identity.h:54
virtual ~Identity()=default
Destructor.
utility::String::Option group
Optional named group (in which the name is unique, i.e. to avoid name clashes)
Definition Identity.h:48
utility::String name
An identifying name.
Definition Identity.h:46
Identity(const utility::String &nameIn=utility::String{})
Definition Identity.h:26
Identity(const utility::String &nameIn, const utility::String::Option groupIn)
Definition Identity.h:35