HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | Friends
v1::tagged_id< T, Tag, Max > Class Template Reference

Public Types

using value_type = T
 

Public Member Functions

constexpr tagged_id (tagged_id const &other) noexcept=default
 
constexpr tagged_id (tagged_id &&other) noexcept=default
 
constexpr tagged_idoperator= (tagged_id const &other) noexcept=default
 
constexpr tagged_idoperator= (tagged_id &&other) noexcept=default
 
constexpr tagged_id (numeric_integral auto rhs) noexcept
 
constexpr tagged_idoperator= (numeric_integral auto rhs) noexcept
 
constexpr tagged_idoperator= (std::monostate) noexcept
 
template<numeric_integral O>
constexpr operator O () const noexcept
 
constexpr operator bool () const noexcept
 
constexpr value_type constoperator* () const noexcept
 
constexpr std::size_t hash () const noexcept
 
bool holds_invariant () const noexcept
 

Static Public Attributes

static constexpr value_type max = Max
 
static constexpr value_type invalid = max + 1
 
static constexpr value_type mask = static_cast<value_type>((1ULL << std::bit_width(invalid)) - 1)
 

Friends

constexpr friend bool operator== (tagged_id const &lhs, tagged_id const &rhs) noexcept
 
constexpr friend std::partial_ordering operator<=> (tagged_id const &lhs, tagged_id const &rhs) noexcept
 
constexpr friend bool operator== (tagged_id const &lhs, std::integral auto const &rhs) noexcept
 
constexpr friend bool operator== (numeric_integral auto const &lhs, tagged_id const &rhs) noexcept
 
constexpr friend std::partial_ordering operator<=> (tagged_id const &lhs, numeric_integral auto const &rhs) noexcept
 
constexpr friend std::partial_ordering operator<=> (numeric_integral auto const &lhs, tagged_id const &rhs) noexcept
 
std::string to_string (tagged_id const &rhs) noexcept
 
std::ostreamoperator<< (std::ostream &lhs, tagged_id const &rhs)
 

The documentation for this class was generated from the following file: