SmiScenarioTree< T > Class Template Reference

#include <SmiScenarioTree.hpp>

List of all members.

Public Member Functions

Iterators
vector< T >::iterator treeBegin ()
 begin
vector< T >::iterator treeEnd ()
 end
vector< T > & wholeTree ()
 whole tree
vector< T >::iterator scenBegin (int s)
 scenario iterators TODO: native code for these iterators that does not depend on copying.
vector< T >::iterator scenEnd (int s)
 begin
Query members
SmiTreeNode< T > * getRoot ()
 Get root node.
SmiTreeNode< T > * getLeaf (int scn)
 Get leaf node.
SmiTreeNode< T > * find (unsigned int scenario, int stage)
 Get node identified by scenario/stage.
int getNumScenarios ()
 get number of scenarios
SmiTreeNode< T > * find (vector< int > &label)
 Get node identified by longest match to array of labels.
vector< T > & getScenario (int scenario)
 Get vector of node data for given scenario.
Tree modification members
int addPathtoLeaf (int brscenario, int stage, vector< T > &pathdata, unsigned int start=0)
 Add new path from branching node to leaf.
void setChildLabels (SmiTreeNode< T > *n, vector< int > labels)
 Set child labels.
int addPathtoLeaf (vector< int >labels, vector< T > &pathdata)
 Add new path using labels to find branching node.
Constructors, destructors and major modifying methods
 SmiScenarioTree ()
 Default Constructor creates an empty scenario tree.
virtual ~SmiScenarioTree ()
 Destructor.

Private Attributes

vector< T > node_data
vector< T > scen_data
vector< SmiTreeNode< T > * > leaf_
SmiTreeNode< T > * root_


Detailed Description

template<class T>
class SmiScenarioTree< T >

Definition at line 172 of file SmiScenarioTree.hpp.


Constructor & Destructor Documentation

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

Default Constructor creates an empty scenario tree.

template<class T>
virtual SmiScenarioTree< T >::~SmiScenarioTree (  )  [inline, virtual]

Destructor.

Definition at line 366 of file SmiScenarioTree.hpp.


Member Function Documentation

template<class T>
vector<T>::iterator SmiScenarioTree< T >::treeBegin (  )  [inline]

begin

Definition at line 182 of file SmiScenarioTree.hpp.

template<class T>
vector<T>::iterator SmiScenarioTree< T >::treeEnd (  )  [inline]

end

Definition at line 184 of file SmiScenarioTree.hpp.

template<class T>
vector<T>& SmiScenarioTree< T >::wholeTree (  )  [inline]

whole tree

Definition at line 186 of file SmiScenarioTree.hpp.

template<class T>
vector<T>::iterator SmiScenarioTree< T >::scenBegin ( int  s  )  [inline]

scenario iterators TODO: native code for these iterators that does not depend on copying.

Definition at line 191 of file SmiScenarioTree.hpp.

template<class T>
vector<T>::iterator SmiScenarioTree< T >::scenEnd ( int  s  )  [inline]

begin

Definition at line 196 of file SmiScenarioTree.hpp.

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

Get root node.

Definition at line 209 of file SmiScenarioTree.hpp.

Referenced by SmiScnModel::getRootNode().

template<class T>
SmiTreeNode<T>* SmiScenarioTree< T >::getLeaf ( int  scn  )  [inline]

Get leaf node.

Definition at line 212 of file SmiScenarioTree.hpp.

Referenced by SmiScnModel::getLeafNode().

template<class T>
SmiTreeNode<T>* SmiScenarioTree< T >::find ( unsigned int  scenario,
int  stage 
) [inline]

Get node identified by scenario/stage.

Definition at line 215 of file SmiScenarioTree.hpp.

Referenced by SmiScenarioTree< SmiScnNode * >::addPathtoLeaf().

template<class T>
int SmiScenarioTree< T >::getNumScenarios (  )  [inline]

get number of scenarios

Definition at line 226 of file SmiScenarioTree.hpp.

Referenced by SmiScnModel::getNumScenarios().

template<class T>
SmiTreeNode<T>* SmiScenarioTree< T >::find ( vector< int > &  label  )  [inline]

Get node identified by longest match to array of labels.

Definition at line 233 of file SmiScenarioTree.hpp.

template<class T>
vector<T>& SmiScenarioTree< T >::getScenario ( int  scenario  )  [inline]

Get vector of node data for given scenario.

Definition at line 248 of file SmiScenarioTree.hpp.

Referenced by SmiScenarioTree< SmiScnNode * >::scenBegin(), and SmiScenarioTree< SmiScnNode * >::scenEnd().

template<class T>
int SmiScenarioTree< T >::addPathtoLeaf ( int  brscenario,
int  stage,
vector< T > &  pathdata,
unsigned int  start = 0 
) [inline]

Add new path from branching node to leaf.

The branching node is the one belonging to "brscenario" at depth "stage". Length of incoming "pathdata" vector is leaf->depth() - stage. Responsibility for memory management of SmiTreeNodeData elements is assigned to SmiScenarioTree. SmiTreeNodeData elements must be created with "new" operator.

Definition at line 281 of file SmiScenarioTree.hpp.

template<class T>
void SmiScenarioTree< T >::setChildLabels ( SmiTreeNode< T > *  n,
vector< int >  labels 
) [inline]

Set child labels.

Definition at line 312 of file SmiScenarioTree.hpp.

template<class T>
int SmiScenarioTree< T >::addPathtoLeaf ( vector< int >  labels,
vector< T > &  pathdata 
) [inline]

Add new path using labels to find branching node.

The length of the incoming path is leaf.depth(). Responsibility for memory management of SmiTreeNodeData elements is assigned to SmiScenarioTree. SmiTreeNodeData elements must be created with "new" operator.

Definition at line 329 of file SmiScenarioTree.hpp.


Member Data Documentation

template<class T>
vector<T> SmiScenarioTree< T >::node_data [private]

Definition at line 370 of file SmiScenarioTree.hpp.

Referenced by SmiScenarioTree< SmiScnNode * >::addPathtoLeaf(), SmiScenarioTree< SmiScnNode * >::treeBegin(), SmiScenarioTree< SmiScnNode * >::treeEnd(), and SmiScenarioTree< SmiScnNode * >::wholeTree().

template<class T>
vector<T> SmiScenarioTree< T >::scen_data [private]

Definition at line 375 of file SmiScenarioTree.hpp.

Referenced by SmiScenarioTree< SmiScnNode * >::getScenario(), SmiScenarioTree< SmiScnNode * >::scenBegin(), and SmiScenarioTree< SmiScnNode * >::scenEnd().

template<class T>
vector<SmiTreeNode<T> *> SmiScenarioTree< T >::leaf_ [private]

Definition at line 376 of file SmiScenarioTree.hpp.

Referenced by SmiScenarioTree< SmiScnNode * >::addPathtoLeaf(), SmiScenarioTree< SmiScnNode * >::find(), SmiScenarioTree< SmiScnNode * >::getLeaf(), SmiScenarioTree< SmiScnNode * >::getNumScenarios(), SmiScenarioTree< SmiScnNode * >::getScenario(), and SmiScenarioTree< SmiScnNode * >::scenEnd().

template<class T>
SmiTreeNode<T>* SmiScenarioTree< T >::root_ [private]

Definition at line 377 of file SmiScenarioTree.hpp.

Referenced by SmiScenarioTree< SmiScnNode * >::addPathtoLeaf(), SmiScenarioTree< SmiScnNode * >::find(), and SmiScenarioTree< SmiScnNode * >::getRoot().


The documentation for this class was generated from the following file:
Generated on Wed Aug 22 06:51:52 2007 by  doxygen 1.4.7