PSRootParseNode Class Reference

Wrapper for the root node of the parse tree. More...

List of all members.

Public Member Functions

void AddParseNode (PSParseNode *in_parseNode)
 Adds the given node to the parse node collection.
template<typename Iter >
void AddParseNodes (Iter in_begin, Iter in_end)
 Adds a range of parse nodes to the parse node collection.
Simba::SQLEngine::PSParseNodeGetRootNode ()
 Retrieves the reference to the root parse tree node.
 PSRootParseNode (PSParseNode &in_rootNode, AutoVector< PSParseNode > &in_parseNodeCollection)
 Constructor.
 PSRootParseNode ()
 Constructor.
void RemoveParseNode (PSParseNode *in_parseNode)
 Deletes the given node from the parse node collection.
void SetParseNodeCollection (std::vector< PSParseNode * > *in_parseNodes)
 Set the parse node collection to the given vector of parse nodes.
void SetRootNode (PSParseNode *in_parseNode)
 Assigns the internal root node reference to the passed in parse node.
 ~PSRootParseNode ()
 Destructor.

Detailed Description

Wrapper for the root node of the parse tree.

This class wraps the reference to the root parse node as well as holds the reference to the vector containing references to all parse tree nodes.

This class also provides functionality to re-generate the SQL statement from the parse tree.


Constructor & Destructor Documentation

PSRootParseNode (  ) 

Constructor.

PSRootParseNode ( PSParseNode in_rootNode,
AutoVector< PSParseNode > &  in_parseNodeCollection 
)

Constructor.

Parameters:
in_rootNode The root node of the parse tree. (Contained in in_parseNodeCollection)
in_parseNodeCollection The parse node collection for the given root node. This object will take ownership of the elements of the vector, and it will be empty on return.
~PSRootParseNode (  ) 

Destructor.


Member Function Documentation

void AddParseNode ( PSParseNode in_parseNode  ) 

Adds the given node to the parse node collection.

Parameters:
in_parseNode The parse node to add. (OWN)
void AddParseNodes ( Iter  in_begin,
Iter  in_end 
) [inline]

Adds a range of parse nodes to the parse node collection.

Does not add any nodes in the case of an exception.

Parameters:
in_begin The beginning of the range to add.
in_end One past the end of the range to add.
Template Parameters:
Iter A forward iterator which dereferences into an OWNed PSParseNode*.
Simba::SQLEngine::PSParseNode* GetRootNode (  ) 

Retrieves the reference to the root parse tree node.

Returns:
The root PSParseNode. (NOT OWN)
void RemoveParseNode ( PSParseNode in_parseNode  ) 

Deletes the given node from the parse node collection.

Parameters:
in_parseNode The parse node to remove. (OWN)
void SetParseNodeCollection ( std::vector< PSParseNode * > *  in_parseNodes  ) 

Set the parse node collection to the given vector of parse nodes.

Parameters:
in_parseNodes The vector of parse nodes to set as children of the root parse node. (OWN)
void SetRootNode ( PSParseNode in_parseNode  ) 

Assigns the internal root node reference to the passed in parse node.

Parameters:
in_parseNode The node to set as the root. (OWN)

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

Generated on Wed May 17 14:21:18 2017 for SimbaEngine 10.1.3.1011 by simba