Elaztek Developer Hub
Blamite Game Engine - Strings  00402.09.29.23.0627.blamite
A library containing general purpose utilities and classes for use in multiple projects.
uuid.h File Reference
#include <cstring>
#include <string>
#include <sstream>
#include <iomanip>
#include <array>
#include <string_view>
#include <iterator>
#include <random>
#include <memory>
#include <functional>
#include <type_traits>
#include <optional>
#include <chrono>
#include <numeric>
#include <atomic>
#include <span>
+ Include dependency graph for uuid.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  uuids::detail::sha1
 
class  uuids::uuid
 
class  uuids::basic_uuid_random_generator< UniformRandomNumberGenerator >
 
class  uuids::uuid_name_generator
 
struct  std::hash< uuids::uuid >
 

Namespaces

 uuids
 
 uuids::detail
 
 std
 

Typedefs

template<class ElementType , std::ptrdiff_t Extent>
using uuids::span = gsl::span< ElementType, Extent >
 
using uuids::uuid_random_generator = basic_uuid_random_generator< std::mt19937 >
 

Enumerations

enum  uuids::uuid_variant { uuids::uuid_variant::ncs, uuids::uuid_variant::rfc, uuids::uuid_variant::microsoft, uuids::uuid_variant::reserved }
 
enum  uuids::uuid_version {
  uuids::uuid_version::none = 0, uuids::uuid_version::time_based = 1, uuids::uuid_version::dce_security = 2, uuids::uuid_version::name_based_md5 = 3,
  uuids::uuid_version::random_number_based = 4, uuids::uuid_version::name_based_sha1 = 5
}
 

Functions

template<typename TChar >
constexpr unsigned char uuids::detail::hex2char (TChar const ch) noexcept
 
template<typename TChar >
constexpr bool uuids::detail::is_hex (TChar const ch) noexcept
 
template<typename TChar >
constexpr std::basic_string_view< TChar > uuids::detail::to_string_view (TChar const *str) noexcept
 
template<typename StringType >
constexpr std::basic_string_view< typename StringType::value_type, typename StringType::traits_type > uuids::detail::to_string_view (StringType const &str) noexcept
 
template<class CharT = char, class Traits = std::char_traits<CharT>, class Allocator = std::allocator<CharT>>
std::basic_string< CharT, Traits, Allocator > uuids::to_string (uuid const &id)
 
bool uuids::operator== (uuid const &lhs, uuid const &rhs) noexcept
 
bool uuids::operator!= (uuid const &lhs, uuid const &rhs) noexcept
 
bool uuids::operator< (uuid const &lhs, uuid const &rhs) noexcept
 
template<class Elem , class Traits >
std::basic_ostream< Elem, Traits > & uuids::operator<< (std::basic_ostream< Elem, Traits > &s, uuid const &id)
 
void uuids::swap (uuids::uuid &lhs, uuids::uuid &rhs) noexcept
 

Variables

template<typename CharT >
constexpr CharT uuids::detail::empty_guid [37] = "00000000-0000-0000-0000-000000000000"
 
template<>
constexpr wchar_t uuids::detail::empty_guid< wchar_t > [37] = L"00000000-0000-0000-0000-000000000000"
 
template<typename CharT >
constexpr CharT uuids::detail::guid_encoder [17] = "0123456789abcdef"
 
template<>
constexpr wchar_t uuids::detail::guid_encoder< wchar_t > [17] = L"0123456789abcdef"