#include <type.hpp>
Public Member Functions | |
constexpr | DiscreteTypeInfo (const char *_name, uint64_t _version, const DiscreteTypeInfo *_parent=nullptr) |
bool | is_castable (const DiscreteTypeInfo &target_type) const |
bool | operator< (const DiscreteTypeInfo &b) const |
bool | operator<= (const DiscreteTypeInfo &b) const |
bool | operator> (const DiscreteTypeInfo &b) const |
bool | operator>= (const DiscreteTypeInfo &b) const |
bool | operator== (const DiscreteTypeInfo &b) const |
bool | operator!= (const DiscreteTypeInfo &b) const |
Data Fields | |
const char * | name |
uint64_t | version |
const DiscreteTypeInfo * | parent |
Supports three functions, is_type<Type>, as_type<Type>, and as_type_ptr<Type> for type-safe dynamic conversions via static_cast/static_ptr_cast without using C++ RTTI. Type must have a static type_info member and a virtual get_type_info() member that returns a reference to its type_info member. Type information for a type system without inheritance; instances have exactly one type not related to any other type.