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
110 template<
class FormatContextType>
111 constexpr
auto format(
const qx::class_id&
id, FormatContextType& ctx)
const
113 return std::format_to(ctx.out(), QX_TEXT(
"{}"),
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)