#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.