by::ttype< T > Class Template Reference

Template type wrapper for type metadata management. More...

#include <ttype.hpp>

Inheritance diagram for by::ttype< T >:
by::ttypeBase< T, tmetaTypeDef< T, tifHasMetaTypeDef< T >::is >::is > by::type

Additional Inherited Members

- Public Member Functions inherited from by::ttypeBase< T, tmetaTypeDef< T, tifHasMetaTypeDef< T >::is >::is >
nbool isTemplate () const override
 
nbool isAbstract () const override
 
void * make () const override
 
ncnt size () const override
 
const typegetSuper () const override
 
const nbool & isInit () const override
 
- Public Member Functions inherited from by::type
virtual nbool operator== (const me &rhs) const
 
nbool operator!= (const me &rhs) const
 
virtual const std::string & getName () const
 
template<typename T >
T * makeAs () const
 
virtual nbool init ()
 
virtual nbool rel ()
 
const types & getLeafs () const
 returns all most derived class from this class.
 
const types & getSubs () const
 
const types & getSupers () const
 
virtual nbool isSuper (const type &it) const
 
nbool isSuper (const type *it) const BY_SIDE_FUNC(isSuper)
 
template<typename T >
nbool isSuper () const
 
nbool isSub (const type &it) const
 
nbool isSub (const type *it) const BY_SIDE_FUNC(isSub)
 
template<typename T >
nbool isSub () const
 
const typegetStatic () const BY_CONST_FUNC(_getStatic()) virtual const nchar *getMetaTypeName() const
 Get meta type name for efficient type checking. More...
 
- Static Public Member Functions inherited from by::ttypeBase< T, tmetaTypeDef< T, tifHasMetaTypeDef< T >::is >::is >
static const me & get ()
 
- Protected Member Functions inherited from by::ttypeBase< T, tmetaTypeDef< T, tifHasMetaTypeDef< T >::is >::is >
types & _getSupers () override
 
types & _getSubs () override
 
type_getStatic () const override
 
types ** _onGetLeafs () const override
 
void _onAddSubClass (const type &subClass) override
 
const std::string & _getNativeName () const override
 
- Protected Member Functions inherited from by::type
void _setInit (nbool newState)
 
virtual void _onAddSubClass (const me &subClass)
 
void _setLeafs (types *newLeafs) const
 

Detailed Description

template<typename T>
class by::ttype< T >

Template type wrapper for type metadata management.

ttype returns ttype<type> as its meta class. however, this makes impossible to get specific ttype instance at a binder.

if user typedefs SuperType at their type T, then ttype inherits from given SuperType. this eventually make user add API to want to ttype class.


The documentation for this class was generated from the following file: