by::bindTag Class Reference

Binding tag for instance reference tracking and lifecycle management. More...

#include <bindTag.hpp>

Inheritance diagram for by::bindTag:
by::typeProvidable by::tbindable< instance >

Public Member Functions

 bindTag (id newId)
 
instanceoperator-> ()
 
instanceoperator* ()
 
const instanceoperator-> () const BY_CONST_FUNC(operator->()) const instance &operator*() const BY_CONST_FUNC(operator*()) public:const chunk *getChunk() const
 
ncnt getStrongCnt () const
 
void rel () override
 
nbool isBind () const override
 
const typegetBindable () const
 
instanceget ()
 
const instanceget () const BY_CONST_FUNC(get()) template< typename E > E *get()
 
template<typename E >
const E *get() const BY_CONST_FUNC(get< E >()) using tbindable< instance > nbool canBind (const type &cls) const override
 
nbool bind (const instance &new1) override
 
id getId () const
 
const typegetType () const override
 
- Public Member Functions inherited from by::typeProvidable
nbool operator== (const me &rhs) const
 
nbool operator!= (const me &rhs) const
 
nbool isSub (const type &it) const
 
nbool isSub (const type *it) const BY_SIDE_FUNC(isSub)
 
nbool isSub (const me &it) const
 
nbool isSub (const me *it) const BY_SIDE_FUNC(isSub)
 
nbool isSuper (const type &it) const
 
nbool isSuper (const type *it) const BY_SIDE_FUNC(isSuper)
 
nbool isSuper (const me &it) const
 
nbool isSuper (const me *it) const BY_SIDE_FUNC(isSuper)
 
template<typename T >
nint isSub () const
 
template<typename T >
nint isSuper () const
 
template<typename T >
T * cast ()
 
template<typename T >
const T * cast () const BY_CONST_FUNC(cast< T >()) virtual void *cast(const type &to)
 
const void * cast (const type &to) const BY_CONST_FUNC(cast(to)) void *cast(const type *it) BY_SIDE_FUNC(cast)
 
- Public Member Functions inherited from by::tbindable< instance >
 operator nbool () const
 
nbool bind (const instance *it)
 Bind to instance pointer. More...
 
nbool canBind (const instance &it) const
 
nbool canBind (const instance *it) const BY_SIDE_FUNC(canBind)
 
nbool canBind (const type *it) const BY_SIDE_FUNC(canBind)
 

Static Public Member Functions

static const bindTaggetBindTag (id newId)
 

Friends

template<typename T , typename TACTIC >
class tweak
 
template<typename T , typename TACTIC >
class tstr
 
class weakTactic
 
class strTactic
 

Detailed Description

Binding tag for instance reference tracking and lifecycle management.

Manages strong and weak references to instances, providing reference counting and automatic cleanup when references reach zero.

Member Function Documentation

◆ bind()

nbool by::bindTag::bind ( const instance new1)
overridevirtual

Reimplemented from by::tbindable< instance >.

◆ canBind()

template<typename E >
const E *get() const BY_CONST_FUNC(get< E >()) using tbindable< instance > nbool by::bindTag::canBind ( const type cls) const
overridevirtual

◆ getType()

const type & by::bindTag::getType ( ) const
overridevirtual

Implements by::typeProvidable.

◆ isBind()

nbool by::bindTag::isBind ( ) const
overridevirtual

◆ rel()

void by::bindTag::rel ( )
overridevirtual

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