ionflux.org | Impressum

Ionflux::Tools::TreeResolver Class Reference
[Data handling]

Tree resolver. More...

#include <TreeResolver.hpp>

Collaboration diagram for Ionflux::Tools::TreeResolver:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TreeResolver ()
 Constructor.
virtual ~TreeResolver ()
 Destructor.

Static Public Member Functions

static bool parseTreePath (const std::string &treePathExpr, std::vector< NodeReference > &nodeRefs)
 Parse a tree path.
static bool createTreePath (Tree *tree, std::vector< NodeReference > &nodeRefs, TreePath &treePath, bool createPath, bool nodesOnly=false)
 Create tree path.

Static Public Attributes

static const TokenType TT_RES_OPERATOR
 Token type: Resolution operator.
static const TokenType TT_SUB_LEFT
 Token type: Subscript left.
static const TokenType TT_SUB_RIGHT
 Token type: Subscript right.
static const TokenType TT_RES_PAR_LEFT
 Token type: Reference parenthesis (left).
static const TokenType TT_RES_PAR_RIGHT
 Token type: Reference parenthesis (right).

Detailed Description

Tree resolver.

Resolves a fully qualified tree path. (See misc/path-resolution.txt, Template Engine and Configuration file I/O for additional information.)


Constructor & Destructor Documentation

Ionflux::Tools::TreeResolver::TreeResolver  ) 
 

Constructor.

Construct new TreeResolver object.

Ionflux::Tools::TreeResolver::~TreeResolver  )  [virtual]
 

Destructor.

Destruct TreeResolver object.


Member Function Documentation

bool Ionflux::Tools::TreeResolver::createTreePath Tree tree,
std::vector< NodeReference > &  nodeRefs,
TreePath treePath,
bool  createPath,
bool  nodesOnly = false
[static]
 

Create tree path.

Creates a tree path from a tree and a set of node references. Pass true to createPath to create a tree path on the fly if it does not already exist.

Parameters:
tree Tree for which the path should be created.
nodeRefs Node references from which to create a tree path.
treePath Where to store the resulting tree path.
createPath Whether to create the path if it does not already exist.
nodesOnly Whether subscripts should be treated as child node references by default.
Returns:
true on success, false if there was an error.

bool Ionflux::Tools::TreeResolver::parseTreePath const std::string &  treePathExpr,
std::vector< NodeReference > &  nodeRefs
[static]
 

Parse a tree path.

Parses a tree path into node references.

Parameters:
treePathExpr Tree path expression.
nodeRefs Vector in which to store node references.
Returns:
true on success, false if there was an error.


Member Data Documentation

const TokenType Ionflux::Tools::TreeResolver::TT_RES_OPERATOR [static]
 

Initial value:

 {
    TokenType::USERTYPE_ID + 1, ".", false, 1}
Token type: Resolution operator.

const TokenType Ionflux::Tools::TreeResolver::TT_RES_PAR_LEFT [static]
 

Initial value:

 {
    TokenType::USERTYPE_ID + 4, "(", false, 1}
Token type: Reference parenthesis (left).

const TokenType Ionflux::Tools::TreeResolver::TT_RES_PAR_RIGHT [static]
 

Initial value:

 {
    TokenType::USERTYPE_ID + 5, ")", false, 1}
Token type: Reference parenthesis (right).

const TokenType Ionflux::Tools::TreeResolver::TT_SUB_LEFT [static]
 

Initial value:

 {
    TokenType::USERTYPE_ID + 2, "[", false, 1}
Token type: Subscript left.

const TokenType Ionflux::Tools::TreeResolver::TT_SUB_RIGHT [static]
 

Initial value:

 {
    TokenType::USERTYPE_ID + 3, "]", false, 1}
Token type: Subscript right.


The documentation for this class was generated from the following files:
Generated on Tue Mar 14 21:11:43 2006 for Ionflux Tools Class Library (iftools) by  doxygen 1.4.6