SmiTreeNode< T > Class Template Reference

SmiTreeNode template class. More...

#include <SmiScenarioTree.hpp>

Collaboration diagram for SmiTreeNode< T >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef map< int, SmiTreeNode
< T > * > 
child_label_map

Public Member Functions

bool hasParent ()
bool hasChild ()
bool hasSibling ()
SmiTreeNode< T > * getParent ()
SmiTreeNode< T > * getChild ()
SmiTreeNode< T > * getSibling ()
void setLastChildLabel (int label)
SmiTreeNode< T > * getChildByLabel (int n)
int depth ()
int numChildren ()
int scenario ()
void setScenario (int s)
SmiTreeNode< T > * addChild (T cd, int scenario)
vector< SmiTreeNode< T > * > * getChildren ()
getDataPtr ()
Constructors, destructors and major modifying methods



 SmiTreeNode ()
 Default Constructor creates an empty node.
 SmiTreeNode (T p)
 Constructor from P.
 ~SmiTreeNode ()
 Destructor.

Protected Member Functions

void setChild (SmiTreeNode< T > *c)
void setSibling (SmiTreeNode< T > *s)
SmiTreeNode< T > * getParentP ()
SmiTreeNode< T > * getChildP ()
SmiTreeNode< T > * getSiblingP ()

Private Attributes

SmiTreeNode< T > * parent_
SmiTreeNode< T > * child_
SmiTreeNode< T > * sibling_
int scen_
int nchild_
int depth_
ptr_
child_label_map child_labels_

Detailed Description

template<class T>
class SmiTreeNode< T >

SmiTreeNode template class.

Manages pointers to parent, child and sibling for tree navigation. Template class instance is a pointer to an object that must be created with "new" operator.

Definition at line 34 of file SmiScenarioTree.hpp.


Member Typedef Documentation

template<class T>
typedef map<int,SmiTreeNode<T>*> SmiTreeNode< T >::child_label_map

Definition at line 38 of file SmiScenarioTree.hpp.


Constructor & Destructor Documentation

template<class T>
SmiTreeNode< T >::SmiTreeNode (  )  [inline]

Default Constructor creates an empty node.

template<class T>
SmiTreeNode< T >::SmiTreeNode ( p  )  [inline]

Constructor from P.

template<class T>
SmiTreeNode< T >::~SmiTreeNode (  )  [inline]

Destructor.

Definition at line 130 of file SmiScenarioTree.hpp.


Member Function Documentation

template<class T>
bool SmiTreeNode< T >::hasParent (  )  [inline]

Definition at line 40 of file SmiScenarioTree.hpp.

template<class T>
bool SmiTreeNode< T >::hasChild (  )  [inline]

Definition at line 41 of file SmiScenarioTree.hpp.

template<class T>
bool SmiTreeNode< T >::hasSibling (  )  [inline]

Definition at line 42 of file SmiScenarioTree.hpp.

template<class T>
SmiTreeNode<T>* SmiTreeNode< T >::getParent (  )  [inline]

Definition at line 44 of file SmiScenarioTree.hpp.

template<class T>
SmiTreeNode<T>* SmiTreeNode< T >::getChild (  )  [inline]

Definition at line 45 of file SmiScenarioTree.hpp.

template<class T>
SmiTreeNode<T>* SmiTreeNode< T >::getSibling (  )  [inline]

Definition at line 46 of file SmiScenarioTree.hpp.

template<class T>
void SmiTreeNode< T >::setLastChildLabel ( int  label  )  [inline]

Definition at line 48 of file SmiScenarioTree.hpp.

template<class T>
SmiTreeNode<T>* SmiTreeNode< T >::getChildByLabel ( int  n  )  [inline]

Definition at line 50 of file SmiScenarioTree.hpp.

template<class T>
int SmiTreeNode< T >::depth (  )  [inline]

Definition at line 70 of file SmiScenarioTree.hpp.

template<class T>
int SmiTreeNode< T >::numChildren (  )  [inline]

Definition at line 71 of file SmiScenarioTree.hpp.

template<class T>
int SmiTreeNode< T >::scenario (  )  [inline]

Definition at line 72 of file SmiScenarioTree.hpp.

template<class T>
void SmiTreeNode< T >::setScenario ( int  s  )  [inline]

Definition at line 73 of file SmiScenarioTree.hpp.

template<class T>
SmiTreeNode<T>* SmiTreeNode< T >::addChild ( cd,
int  scenario 
) [inline]

Definition at line 75 of file SmiScenarioTree.hpp.

template<class T>
vector<SmiTreeNode<T> *>* SmiTreeNode< T >::getChildren (  )  [inline]

Definition at line 88 of file SmiScenarioTree.hpp.

template<class T>
T SmiTreeNode< T >::getDataPtr (  )  [inline]

Definition at line 102 of file SmiScenarioTree.hpp.

template<class T>
void SmiTreeNode< T >::setChild ( SmiTreeNode< T > *  c  )  [inline, protected]

Definition at line 141 of file SmiScenarioTree.hpp.

template<class T>
void SmiTreeNode< T >::setSibling ( SmiTreeNode< T > *  s  )  [inline, protected]

Definition at line 142 of file SmiScenarioTree.hpp.

template<class T>
SmiTreeNode<T>* SmiTreeNode< T >::getParentP (  )  [inline, protected]

Definition at line 143 of file SmiScenarioTree.hpp.

template<class T>
SmiTreeNode<T>* SmiTreeNode< T >::getChildP (  )  [inline, protected]

Definition at line 144 of file SmiScenarioTree.hpp.

template<class T>
SmiTreeNode<T>* SmiTreeNode< T >::getSiblingP (  )  [inline, protected]

Definition at line 145 of file SmiScenarioTree.hpp.


Member Data Documentation

template<class T>
SmiTreeNode<T>* SmiTreeNode< T >::parent_ [private]

Definition at line 149 of file SmiScenarioTree.hpp.

template<class T>
SmiTreeNode<T>* SmiTreeNode< T >::child_ [private]

Definition at line 150 of file SmiScenarioTree.hpp.

template<class T>
SmiTreeNode<T>* SmiTreeNode< T >::sibling_ [private]

Definition at line 151 of file SmiScenarioTree.hpp.

template<class T>
int SmiTreeNode< T >::scen_ [private]

Definition at line 152 of file SmiScenarioTree.hpp.

template<class T>
int SmiTreeNode< T >::nchild_ [private]

Definition at line 153 of file SmiScenarioTree.hpp.

template<class T>
int SmiTreeNode< T >::depth_ [private]

Definition at line 154 of file SmiScenarioTree.hpp.

template<class T>
T SmiTreeNode< T >::ptr_ [private]

Definition at line 155 of file SmiScenarioTree.hpp.

template<class T>
child_label_map SmiTreeNode< T >::child_labels_ [private]

Definition at line 156 of file SmiScenarioTree.hpp.


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

Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1