16 explicit Guid(
const std::array<unsigned char, 16>&
bytes);
17 explicit Guid(std::array<unsigned char, 16>&&
bytes);
29 std::string
str()
const;
30 operator std::string()
const;
31 const std::array<unsigned char, 16>&
bytes()
const;
36 std::array<unsigned char, 16>
_bytes;
38 friend std::ostream&
operator<<(std::ostream& s,
const Guid& guid);
46 template <
typename...>
struct hash;
55 template <
typename T,
typename... Rest>
58 inline std::size_t
operator()(
const T& v,
const Rest&... rest) {
59 std::size_t seed =
hash<Rest...>{}(rest...);
60 seed ^=
hash<T>{}(v)+0x9e3779b9 + (seed << 6) + (seed >> 2);
72 void swap(Wt::Guid& guid0, Wt::Guid& guid1)
noexcept;
82 const uint64_t* p =
reinterpret_cast<const uint64_t*
>(guid.
bytes().data());
bool operator!=(const Guid &other) const
Guid & operator=(const Guid &other)=default
std::array< unsigned char, 16 > _bytes
const std::array< unsigned char, 16 > & bytes() const
Guid(const std::array< unsigned char, 16 > &bytes)
Guid(const Guid &other)=default
friend bool operator<(const Guid &lhs, const Guid &rhs)
Guid(Guid &&other)=default
Guid & operator=(Guid &&other)=default
friend std::ostream & operator<<(std::ostream &s, const Guid &guid)
bool operator==(const Guid &other) const
void swap(Wt::Guid &lhs, Wt::Guid &rhs) noexcept
std::size_t operator()(const T &v, const Rest &... rest)
std::size_t operator()(Wt::Guid const &guid) const