4#ifndef _Stroika_Foundation_Common_GUID_h_
5#define _Stroika_Foundation_Common_GUID_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
11#if qStroika_Platform_MacOS
13#elif qStroika_Platform_Windows
19#include "Stroika/Foundation/Common/Common.h"
20#include "Stroika/Foundation/Common/Concepts.h"
25namespace Stroika::Foundation::Memory {
56 static GUID mk_ (
const string&
src);
74#if qStroika_Platform_MacOS
76#elif qStroika_Platform_Windows
77 constexpr GUID (const ::GUID&
src)
noexcept;
79 template <Characters::IConvertibleToString STRISH_TYPE>
82 GUID (
const array<byte, 16>&
src)
noexcept;
83 GUID (
const array<uint8_t, 16>&
src)
noexcept;
134 using value_type = byte;
142 nonvirtual
const byte*
begin ()
const noexcept;
209 using inherited = qStroika_Foundation_Characters_FMT_PREFIX_::formatter<std::wstring, wchar_t>;
210 template <
class FmtContext>
215 : qStroika_Foundation_Characters_FMT_PREFIX_::formatter<std::string, char> {
216 using inherited = qStroika_Foundation_Characters_FMT_PREFIX_::formatter<std::string, char>;
217 template <
class FmtContext>
222 template <
typename T>
223 struct DefaultSerializer;
String is like std::u32string, except it is much easier to use, often much more space efficient,...
Concept: trivial shorthand for variadic same_as A or same_as B, or ...
constexpr array< byte, 16 > AsRFC9562Bytes() const noexcept
Its 16 bytes in RFC 9562's order - the order its text is written in (.
static GUID GenerateNew() noexcept
constexpr GUID() noexcept=default
static constexpr GUID FromRFC9562Bytes(span< const byte, 16 > bytes) noexcept
From its 16 bytes in RFC 9562's order: network byte order, the order its text is written in - as a uu...
nonvirtual const byte * end() const noexcept
nonvirtual operator Memory::BLOB() const
nonvirtual const byte * begin() const noexcept
nonvirtual Characters::String ToString() const
nonvirtual const uint8_t * data() const noexcept