ULIS  dev4.0.7
Utility Library for Imaging Systems
Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
TNode< Type > Class Template Reference

Basic node.

Inheritance diagram for TNode< Type >:

Public Types

using InnerType = Type
 
- Public Types inherited from TCallbackCapable< DelegateType, _ID >
using Delegate = DelegateType
 

Public Member Functions

 TNode (const tParent *iParent=nullptr, const TOnParentChanged< Type > &iParentChangedDelegate=TOnParentChanged< Type >(), const TOnSelfChanged< Type > &iSelfChangedDelegate=TOnSelfChanged< Type >())
 
virtual ~TNode ()
 
Type & Def (std::function< void(Type &) > iFunc)
 
void NotifyChange () const
 
const tParentParent () const
 
Type & Self ()
 
const Type & Self () const
 
void SetParent (const tParent *iParent)
 
const tParentTopLevelParent () const
 
- Public Member Functions inherited from TCallbackCapable< DelegateType, _ID >
 TCallbackCapable (const DelegateType &iDelegate=DelegateType())
 
 TCallbackCapable (typename DelegateType::tFptr iDelegateFPTR)
 
const DelegateType & GetDelegate () const
 
template<typename ... Args>
void Invoke (Args ... args) const
 
void SetDelegate (const DelegateType &iDelegate)
 
void SetDelegate (const TCallbackCapable< DelegateType, _ID > &iOther)
 
void SetDelegate (typename DelegateType::tFptr iDelegateFPTR)
 

Protected Member Functions

virtual void InitFromParent (const tParent *iParent)
 

Friends

class TRoot< Type >
 

Member Typedef Documentation

◆ InnerType

template<class Type>
using TNode< Type >::InnerType = Type

Constructor & Destructor Documentation

◆ ~TNode()

template<class Type>
virtual TNode< Type >::~TNode ( )
inlinevirtual

◆ TNode()

template<class Type>
TNode< Type >::TNode ( const tParent iParent = nullptr,
const TOnParentChanged< Type > &  iParentChangedDelegate = TOnParentChanged< Type >(),
const TOnSelfChanged< Type > &  iSelfChangedDelegate = TOnSelfChanged< Type >() 
)
inline

Member Function Documentation

◆ Def()

template<class Type>
Type& TNode< Type >::Def ( std::function< void(Type &) >  iFunc)
inline

◆ InitFromParent()

template<class Type>
virtual void TNode< Type >::InitFromParent ( const tParent iParent)
inlineprotectedvirtual

Reimplemented in TRoot< Type >, and TRoot< ILayer >.

◆ NotifyChange()

template<class Type>
void TNode< Type >::NotifyChange ( ) const
inline

◆ Parent()

template<class Type>
const tParent* TNode< Type >::Parent ( ) const
inline

◆ Self() [1/2]

template<class Type>
Type& TNode< Type >::Self ( )
inline

◆ Self() [2/2]

template<class Type>
const Type& TNode< Type >::Self ( ) const
inline

◆ SetParent()

template<class Type>
void TNode< Type >::SetParent ( const tParent iParent)
inline

◆ TopLevelParent()

template<class Type>
const tParent* TNode< Type >::TopLevelParent ( ) const
inline

Friends And Related Function Documentation

◆ TRoot< Type >

template<class Type>
friend class TRoot< Type >
friend