Identifies a class using RTTI. More...
Public Types | |
typedef std::type_index | Key |
Key type. | |
Static Public Member Functions | |
static Key | keyFromBase (B m) |
Function that takes an object to identify and returns the corresponding std::type_index object. | |
template<typename T > | |
static Key | keyFromId (Type< T > id) |
Function that takes static type information and returns a type-erased std::type_index object. | |
template<typename Id , typename Fn > | |
static std::function< S > | trampoline1 (Fn f) |
Wraps a function such that the argument is downcast before being passed. | |
template<typename Id1 , typename Id2 , typename Fn > | |
static std::function< S > | trampoline2 (Fn f) |
Wraps a function such that both arguments are downcast before being passed. | |
static const char * | name (Key k) |
Returns a string representation of the key, for debugging. | |
Identifies a class using RTTI.
Default key for SingleDispatcher and DoubleDispatcher. With it, classes are identified using the compiler's RTTI capabilities (in particular, the typeid
operator).