#include <SmiScenarioTree.hpp>
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_ |
Definition at line 171 of file SmiScenarioTree.hpp.
SmiScenarioTree< T >::SmiScenarioTree | ( | ) | [inline] |
Default Constructor creates an empty scenario tree.
virtual SmiScenarioTree< T >::~SmiScenarioTree | ( | ) | [inline, virtual] |
Destructor.
vector<T>::iterator SmiScenarioTree< T >::treeBegin | ( | ) | [inline] |
begin
Definition at line 181 of file SmiScenarioTree.hpp.
vector<T>::iterator SmiScenarioTree< T >::treeEnd | ( | ) | [inline] |
end
Definition at line 183 of file SmiScenarioTree.hpp.
vector<T>& SmiScenarioTree< T >::wholeTree | ( | ) | [inline] |
whole tree
Definition at line 185 of file SmiScenarioTree.hpp.
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 190 of file SmiScenarioTree.hpp.
vector<T>::iterator SmiScenarioTree< T >::scenEnd | ( | int | s | ) | [inline] |
begin
Definition at line 195 of file SmiScenarioTree.hpp.
SmiTreeNode<T>* SmiScenarioTree< T >::getRoot | ( | ) | [inline] |
Get root node.
Definition at line 208 of file SmiScenarioTree.hpp.
SmiTreeNode<T>* SmiScenarioTree< T >::getLeaf | ( | int | scn | ) | [inline] |
Get leaf node.
Definition at line 211 of file SmiScenarioTree.hpp.
SmiTreeNode<T>* SmiScenarioTree< T >::find | ( | unsigned int | scenario, | |
int | stage | |||
) | [inline] |
Get node identified by scenario/stage.
Definition at line 214 of file SmiScenarioTree.hpp.
int SmiScenarioTree< T >::getNumScenarios | ( | ) | [inline] |
get number of scenarios
Definition at line 225 of file SmiScenarioTree.hpp.
SmiTreeNode<T>* SmiScenarioTree< T >::find | ( | vector< int > & | label | ) | [inline] |
Get node identified by longest match to array of labels.
Definition at line 232 of file SmiScenarioTree.hpp.
vector<T>& SmiScenarioTree< T >::getScenario | ( | int | scenario | ) | [inline] |
Get vector of node data for given scenario.
Definition at line 247 of file SmiScenarioTree.hpp.
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 280 of file SmiScenarioTree.hpp.
void SmiScenarioTree< T >::setChildLabels | ( | SmiTreeNode< T > * | n, | |
vector< int > | labels | |||
) | [inline] |
Set child labels.
Definition at line 311 of file SmiScenarioTree.hpp.
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 328 of file SmiScenarioTree.hpp.
vector<T> SmiScenarioTree< T >::node_data [private] |
Definition at line 372 of file SmiScenarioTree.hpp.
vector<T> SmiScenarioTree< T >::scen_data [private] |
Definition at line 373 of file SmiScenarioTree.hpp.
vector<SmiTreeNode<T> *> SmiScenarioTree< T >::leaf_ [private] |
Definition at line 374 of file SmiScenarioTree.hpp.
SmiTreeNode<T>* SmiScenarioTree< T >::root_ [private] |
Definition at line 375 of file SmiScenarioTree.hpp.