by::tbaseObjOrigin< T > Class Template Reference

Template base object origin for user-defined classes. More...

#include <tbaseObjOrigin.hpp>

Inheritance diagram for by::tbaseObjOrigin< T >:

Public Member Functions

 tbaseObjOrigin (const scope &subs)
 
 tbaseObjOrigin (const scope &subs, const modifier &mod)
 
const nodegetSubPack () const override
 
const ntypegetType () const override
 
scopesubs () override
 
const modifiergetModifier () const override
 
clonableclone () const override
 
clonablecloneDeep () const override
 
void onCloneDeep (const clonable &from) override
 

Protected Member Functions

void _setModifier (const modifier &mod) override
 

Detailed Description

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

Template base object origin for user-defined classes.

Template for creating origin objects for user-defined classes in unmanaged code.

Note
Origin should be shadowed to 'baseObj' type for proper interaction. this baseObjOrigin class is represents user defined classes in unmanaged codes. one important thing you must remember is, origin should be shadowed to 'baseObj' type. every interaction you can take with origin could be handled with baseObj class. and inherits something too origin class aren't allowed.
Warning
this limitation affects to usage of binder too. simply, declaring binder with type parameter 'baseObjOrigin' is not allowed. use 'baseObj' type instead of.
tstr<baseObjOrigin> a; // X, unexpected behavior may happen.
tstr<baseObj> a; // O

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