by::mgdType Class Reference

Managed type for byeol objects. More...

#include <mgdType.hpp>

Inheritance diagram for by::mgdType:
by::ntype by::clonable by::type by::funcMgdType

Public Member Functions

nbool isTemplate () const override
 
nbool isAbstract () const override
 
const typegetSuper () const override
 
const nbool & isInit () const override
 
const std::string & getName () const override
 
ncnt size () const override
 
void onCloneDeep (const clonable &from) override
 
paramsgetParams () override
 
const nodegetRet () const override
 
void setRet (const node &new1) override
 
void * make () const override
 create an instance to be refered this type. More...
 
- Public Member Functions inherited from by::ntype
nbool operator== (const type &rhs) const override
 
template<typename T >
nbool isImpli () const
 whether variable 'it' can be a subtype of T
 
virtual nbool isImpli (const type &to) const
 
nbool isImpli (const type *it) const BY_SIDE_FUNC(isImpli)
 
nbool isImpli (const typeProvidable &to) const
 
nbool isImpli (const typeProvidable *it) const BY_SIDE_FUNC(isImpli)
 
template<typename T >
tstr< T > asImpli (const node &it) const
 
template<typename T >
tstr< T > asImpli (const node *it) const BY_SIDE_FUNC(asImpli< T >)
 
virtual str asImpli (const node &from, const type &to) const
 
str asImpli (const node &from, const type *to) const BY_SIDE_FUNC(to
 
str asImpli (from, *to)
 
str str ())
 
str asImpli (const node *from, const type &to) const BY_SIDE_FUNC(from
 
str asImpli str ())
 
str asImpli (const node *from, const type *to) const BY_SIDE_FUNC(from &&to
 
str asImpli str ())
 
virtual nbool isCustom () const
 
template<typename T >
nbool is () const
 
nbool is (const type &to) const
 
nbool is (const type *it) const BY_SIDE_FUNC(is)
 
template<typename T >
tstr< T > as (const node &it) const
 
template<typename T >
tstr< T > as (const node *it) const BY_SIDE_FUNC(as< T >)
 
str as (const node &from, const type &to) const
 
str as (const node &from, const type *to) const BY_SIDE_FUNC(to
 
str as (from, *to)
 
str str ())
 
str as (const node *from, const type &to) const BY_SIDE_FUNC(from
 
str as str ())
 
str as (const node *from, const type *to) const BY_SIDE_FUNC(from &&to
 
str as str ())
 
virtual nbool isImmutable () const
 
const ntypededuce (const ntype &r) const
 
const ntypededuce (const ntype *it) const BY_SIDE_FUNC(deduce)
 
const ntypededuce (const typeProvidable &r) const
 
const ntypededuce (const typeProvidable *it) const BY_SIDE_FUNC(deduce)
 
template<typename T >
const ntypededuce () const
 
static const ntype deduce (l, *r)
 
const paramsgetParams () const BY_CONST_FUNC(getParams()) virtual params &getParams()
 
void setRet (const node *it) BY_SIDE_FUNC(setRet)
 
std::string createNameWithParams () const
 
const nchar * getMetaTypeName () const override
 
- Public Member Functions inherited from by::type
virtual nbool operator== (const me &rhs) const
 
nbool operator!= (const me &rhs) 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...
 
- Public Member Functions inherited from by::clonable
virtual me * clone () const =0
 
virtual me * cloneDeep () const
 
virtual void onCloneDeep (const me &from)
 

Protected Member Functions

types & _getSupers () override
 
types & _getSubs () override
 
type_getStatic () const override
 
types ** _onGetLeafs () const override
 
- Protected Member Functions inherited from by::ntype
virtual const impliAses_getImpliAses () const
 
virtual const ases_getAses () const
 
- Protected Member Functions inherited from by::type
void _setInit (nbool newState)
 
virtual void _onAddSubClass (const me &subClass)
 
void _setLeafs (types *newLeafs) const
 
virtual const std::string & _getNativeName () const
 

Additional Inherited Members

- Static Public Member Functions inherited from by::ntype
static const ntypededuce (const ntype &l, const ntype &r)
 
static const ntypededuce (const ntype &l, const ntype *r) BY_SIDE_FUNC(r
 
static const ntypededuce (const ntype *l, const ntype &r) BY_SIDE_FUNC(l
 
static const ntypededuce (const ntype *l, const ntype *r) BY_SIDE_FUNC(l &&r
 
- Public Attributes inherited from by::ntype
str asImpli from
 
str as from
 
static const ntype nullptr
 
static const ntype deduce l
 
static const ntype deduce nullptr
 
- Static Public Attributes inherited from by::ntype
static const std::string META_TYPENAME = "ntype"
 

Detailed Description

Managed type for byeol objects.

Type information for managed objects with inheritance, parameters, and templates. Handles complex type relationships and runtime type information.

Member Function Documentation

◆ _getStatic()

type & by::mgdType::_getStatic ( ) const
overrideprotectedvirtual

Implements by::type.

◆ _getSubs()

types & by::mgdType::_getSubs ( )
overrideprotectedvirtual

Implements by::type.

◆ _getSupers()

types & by::mgdType::_getSupers ( )
overrideprotectedvirtual

Implements by::type.

◆ _onGetLeafs()

types ** by::mgdType::_onGetLeafs ( ) const
overrideprotectedvirtual

Implements by::type.

◆ getName()

const std::string & by::mgdType::getName ( ) const
overridevirtual

Reimplemented from by::type.

◆ getRet()

const node * by::mgdType::getRet ( ) const
overridevirtual

Reimplemented from by::ntype.

◆ getSuper()

const type & by::mgdType::getSuper ( ) const
overridevirtual

Implements by::type.

◆ isAbstract()

nbool by::mgdType::isAbstract ( ) const
overridevirtual

Implements by::type.

◆ isInit()

const nbool & by::mgdType::isInit ( ) const
overridevirtual

Implements by::type.

◆ isTemplate()

nbool by::mgdType::isTemplate ( ) const
overridevirtual

Implements by::type.

◆ make()

void * by::mgdType::make ( ) const
overridevirtual

create an instance to be refered this type.

Remarks
available when the type defines a ctor without any params.
Returns
return an address of new instance, however, if ctor without any params isn't defined, then returns null.

Implements by::type.

◆ setRet()

void by::mgdType::setRet ( const node new1)
overridevirtual

Reimplemented from by::ntype.

◆ size()

ncnt by::mgdType::size ( ) const
overridevirtual

Implements by::type.


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