Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ion::IMultiTreeNode< Implementation > Class Template Reference

Variant of ITreeNode that doesn't require a single parent relationship. More...

#include <IMultiTreeNode.h>

Collaboration diagram for ion::IMultiTreeNode< Implementation >:
Collaboration graph
[legend]

Public Member Functions

set< Implementation * > const & GetChildren () const
 
void AddChild (Implementation *Child)
 
void RemoveChild (Implementation *Child)
 
void RemoveAllChildren ()
 
template<typename Return >
void RecurseOnChildren (Return(Implementation::*Function)())
 
template<typename Return , typename P1 >
void RecurseOnChildren (Return(Implementation::*Function)(P1), P1 p1)
 
template<typename Return , typename P1 , typename P2 >
void RecurseOnChildren (Return(Implementation::*Function)(P1, P2), P1 p1, P2 p2)
 

Protected Member Functions

 IMultiTreeNode ()
 

Protected Attributes

set< Implementation * > Children
 

Detailed Description

template<typename Implementation>
class ion::IMultiTreeNode< Implementation >

Variant of ITreeNode that doesn't require a single parent relationship.

Constructor & Destructor Documentation

template<typename Implementation>
ion::IMultiTreeNode< Implementation >::IMultiTreeNode ( )
inlineprotected

Member Function Documentation

template<typename Implementation>
void ion::IMultiTreeNode< Implementation >::AddChild ( Implementation *  Child)
inline
template<typename Implementation>
set<Implementation *> const& ion::IMultiTreeNode< Implementation >::GetChildren ( ) const
inline
template<typename Implementation>
template<typename Return >
void ion::IMultiTreeNode< Implementation >::RecurseOnChildren ( Return(Implementation::*)()  Function)
inline
template<typename Implementation>
template<typename Return , typename P1 >
void ion::IMultiTreeNode< Implementation >::RecurseOnChildren ( Return(Implementation::*)(P1)  Function,
P1  p1 
)
inline
template<typename Implementation>
template<typename Return , typename P1 , typename P2 >
void ion::IMultiTreeNode< Implementation >::RecurseOnChildren ( Return(Implementation::*)(P1, P2)  Function,
P1  p1,
P2  p2 
)
inline
template<typename Implementation>
void ion::IMultiTreeNode< Implementation >::RemoveAllChildren ( )
inline
template<typename Implementation>
void ion::IMultiTreeNode< Implementation >::RemoveChild ( Implementation *  Child)
inline

Member Data Documentation

template<typename Implementation>
set<Implementation *> ion::IMultiTreeNode< Implementation >::Children
protected

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