13 template<
class naming_strategy_t>
17 constexpr
class_id typeId = T::get_class_id_static();
18 return _is_base_id(typeId) || typeId == get_class_id();
21 template<
class naming_strategy_t>
25 return get_class_id() == T::get_class_id_static();
28 template<
class naming_strategy_t>
31 return svClassName == get_class_name();
34 template<
class naming_strategy_t>
37 return id == get_class_id();
40 template<
class naming_strategy_t>
43 return is_derived_from_id_static(
id);
46 template<
class naming_strategy_t>
49 return id == get_class_id_static();
52 template<
class naming_strategy_t>
58 template<
class naming_strategy_t>
61 return get_class_name_static();
64 template<
class naming_strategy_t>
67 constexpr
class_id id = class_id::create<this_class_type>();
71 template<
class naming_strategy_t>
74 return get_class_id_static();
77 template<
class naming_strategy_t>
80 return idBase == get_class_id_static();
Class id, unique for each class using qx rtti system.
bool is_derived_from() const noexcept
Test exact identity or membership in the object's RTTI base chain.
bool is() const noexcept
Compare the object's dynamic class identifier with T's identifier.
virtual bool is_derived_from_id(const class_id &id) const noexcept
Test an identifier against the object's dynamic RTTI hierarchy.
virtual class_id get_class_id() const noexcept
Get the identifier of the object's most-derived registered RTTI type.
static constexpr string_view get_class_name_static() noexcept
Apply the naming strategy to the declaring RTTI type's signature.
static constexpr class_id get_class_id_static() noexcept
Create the declaring RTTI type's identifier from its type signature.
virtual bool _is_base_id(const class_id &idBase) const noexcept
Traverse identifiers treated as bases by derived RTTI classes.
static constexpr bool is_derived_from_id_static(const class_id &id) noexcept
Test an identifier against the declaring type's static RTTI hierarchy.
virtual string_view get_class_name() const noexcept
Get the name of the object's most-derived registered RTTI type.
The class allows you to get strings with information about the type, including its full name,...