Loading...
Searching...
No Matches
by::mgdType Class Reference

Script type for byeol objects. More...

#include <mgdType.hpp>

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

Public Member Functions

nbool isTemplate () const override
 
nbool isAbstract () const override
 
const typegetSuper () const override
 
const nboolisInit () const override
 
const std::string & getName () const override
 
ncnt size () const override
 
void onCloneDeep (const clonable &from) override
 Performs a deep clone operation for this script type instance.
 
paramsgetParams () override
 
const nodegetRet () const override
 
void setRet (const node &new1) override
 
void * make () const override
 create an instance to be refered this type.
 
- Public Member Functions inherited from by::ntype
nbool operator== (const type &rhs) const override
 check whether two ntype are same in both of native and byeol runtime environments
 
template<typename T >
nbool isImpli () const
 whether variable 'it' can be a subtype of T in runtime
 
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 ())
 
virtual str as (const node *from, const type *to) const BY_SIDE_FUNC(from &&to
 
virtual str as str ())
 
virtual nbool isImmutable () const
 Checks if this type is immutable.
 
nbool isSameSign (const type &rhs) const
 
const ntypepromote (const ntype &r) const
 
const ntypepromote (const ntype *it) const BY_SIDE_FUNC(promote)
 
const ntypepromote (const typeProvidable &r) const
 
const ntypepromote (const typeProvidable *it) const BY_SIDE_FUNC(promote)
 
template<typename T >
const ntypepromote () const
 
static const ntype promote (l, *r)
 
const paramsgetParams () const BY_CONST_FUNC(getParams()) virtual params &getParams()
 Retrieves a non-const reference to the parameters associated with this type.
 
void setRet (const node *it) BY_SIDE_FUNC(setRet)
 
std::string createNameWithParams () const
 
const nchargetMetaTypeName () const override
 
- Public Member Functions inherited from by::type
virtual nbool operator== (const me &rhs) const
 Checks if two type objects represent the same type.
 
nbool operator!= (const me &rhs) const
 
template<typename T >
T * makeAs () const
 
virtual nbool init ()
 Initializes type metadata and constructs class hierarchy.
 
virtual nbool rel ()
 
const types & getLeafs () const
 Returns all most derived classes (leaf nodes) from this class.
 
const types & getSubs () const
 
const types & getSupers () const
 
virtual nbool isSuper (const type &it) const
 Checks if this type is a super class of the given type.
 
nbool isSuper (const type *it) const BY_SIDE_FUNC(isSuper)
 
template<typename T >
nbool isSuper () const
 
nbool isSub (const type &it) const
 Checks if this type is a sub class of the given type.
 
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.
 
- 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)
 Hook method called when a new subclass is registered with this type.
 
void _setLeafs (types *newLeafs) const
 
virtual const std::string & _getNativeName () const
 

Additional Inherited Members

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

Detailed Description

Script type for byeol objects.

Type information for scripted 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.

◆ onCloneDeep()

void by::mgdType::onCloneDeep ( const clonable & from)
override

Performs a deep clone operation for this script type instance.

This method ensures that all components of the script type, including its internal structures and parameters, are deeply copied from the source.

Parameters
fromThe clonable object to copy from.

◆ 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:
to Top