by::tweak< T, TACTIC > Class Template Reference

Weak reference smart pointer with type-safe access. More...

#include <tweak.hpp>

Inheritance diagram for by::tweak< T, TACTIC >:
by::binder by::typeProvidable by::tbindable< instance > by::tstr< node >

Public Member Functions

 tweak ()
 tweak:
 
 tweak (const type &subtype)
 
 tweak (const T &it)
 
 tweak (const T *it)
 
 tweak (const tmedium< T > &it)
 
 tweak (const me &rhs)
 
 tweak (const binder &rhs)
 
T * operator-> ()
 
T & operator* ()
 
const T * operator-> () const BY_CONST_FUNC(operator->()) const T &operator*() const BY_CONST_FUNC(operator*()) me &operator=(const binder &rhs)
 
me & operator= (const me &rhs)
 
T * get ()
 
const T *get() const BY_CONST_FUNC(get()) using super nbool bind (const T &new1)
 
- Public Member Functions inherited from by::binder
 binder (const type &type, bindTacticable &tactic)
 
 binder (const me &rhs)
 
instanceoperator-> ()
 Dereference operator to access bound instance. More...
 
const instanceoperator-> () const BY_CONST_FUNC(operator->()) instance &operator*()
 
const instanceoperator* () const BY_CONST_FUNC(operator*()) me &operator
 
id getItsId () const
 
nbool isBind () const override
 
void rel () override
 
nbool canBind (const type &it) const override
 
nbool bind (const instance &it) override
 
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 >()) const type &getType() const override
 
void * cast (const type &to) override
 
nbool canBind (const T &it) const
 
nbool canBind (const T *it) const BY_SIDE_FUNC(canBind)
 
virtual nbool canBind (const type &it) const=0
 
nbool canBind (const type *it) const BY_SIDE_FUNC(canBind)
 
virtual nbool bind (const T &it)
 
nbool bind (const T *it)
 Bind to instance pointer. More...
 
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::typeProvidable
nbool operator== (const me &rhs) const
 
nbool operator!= (const me &rhs) const
 
virtual const typegetType () const =0
 
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)
 

Friends

class bindTag
 

Additional Inherited Members

- Protected Member Functions inherited from by::binder
nbool _assign (const binder &rhs)
 
nbool _onSame (const typeProvidable &rhs) const override
 
bindTag_getBindTag () const
 
- Protected Attributes inherited from by::binder
id _itsId
 
const type_type
 
bindTacticable_tactic
 

Detailed Description

template<typename T, typename TACTIC = weakTactic>
class by::tweak< T, TACTIC >

Weak reference smart pointer with type-safe access.

Template-based weak reference binder that provides type-safe access to instances without affecting their lifetime. Uses configurable tactics for memory management.


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