30     friend std::hash<class_id>;
 
   33     constexpr 
class_id() noexcept = 
default;
 
   43     constexpr 
bool operator==(
const class_id& other) 
const noexcept;
 
   44     constexpr 
bool operator!=(
const class_id& other) 
const noexcept;
 
   47     constexpr 
bool operator<(
const class_id& other) 
const noexcept;
 
   49     constexpr 
operator size_t() const noexcept;
 
   58     string_view m_svClassName;
 
   64     return m_nId == other.m_nId;
 
   67 constexpr 
bool class_id::operator!=(
const class_id& other) 
const noexcept
 
   69     return m_nId != other.m_nId;
 
   72 constexpr 
bool class_id::operator<(
const class_id& other) 
const noexcept
 
   74     return m_nId < other.m_nId;
 
   77 constexpr class_id::operator size_t() const noexcept
 
   99 struct std::hash<qx::class_id>
 
  101     constexpr 
size_t operator()(
const qx::class_id& 
id) 
const noexcept
 
  107 template<
class char_t>
 
  110     template<
class FormatContextType>
 
  111     constexpr 
auto format(
const qx::class_id& 
id, FormatContextType& ctx)
 const 
  113         return std::format_to(ctx.out(), 
QX_STR_PREFIX(char_t, 
"{}"), 
id.get_class_name());
 
Class id, unique for each class using qx rtti system.
 
constexpr static class_id create()
Create a class id for a given type (the type doesn't require to use qx rtti system)
 
constexpr string_view get_class_name() const
Get class name.
 
static constexpr string_view_type get_signature()
Get type signature (full name with template parameters)
 
#define QX_STR_PREFIX(value_t, str)
Chose witch of prefixes add to string : L or none.