2 #ifndef _EXPRESSION_TREE_HPP_     3 #define _EXPRESSION_TREE_HPP_     8 #include "ExprTreeNode.hpp"   179     template <
class ExpTreeConvert> 
   180     void fromVector(
const std::vector<ExpTreeConvert>& ringVec) {
   183         for(
size_t i = 0; i < ringVec.size(); ++i) {
 static ExpressionTree combineExpressionTrees(const ExpressionTree &left, const ExpressionTree &right, ExprTreeType type, ExprTreeVal *val=NULL)
Combine two expression trees using the supplied type and value as their common parent. 
ExprTreeVal is the data element of a ExprTreeNode. 
Definition: ExprTreeNode.hpp:57
ExpressionTree operator+(const ExpressionTree &rightTree)
Combine *this and the input rightTree into a new expression tree adjoining the two trees with additio...
An ExpressionTree encompasses various forms of data that can be expressed generically as a binary tre...
Definition: ExpressionTree.hpp:17
std::string toLaTeXString() const
Convert *this to a string in the format expected of LaTeX. 
ExpressionTree operator/(const ExpressionTree &rightTree)
Combine *this and the input rightTree into a new expression tree adjoining the two trees with divison...
ExpressionTree operator^(const ExpressionTree &rightTree)
Combine *this and the input rightTree into a new expression tree adjoining the two trees with divison...
std::string toString() const
Convert *this to a generic string representation. 
static ExprTreeNode * combineExprTreeNodes(ExprTreeNode *lNode, ExprTreeNode *rNode, ExprTreeType tType, ExprTreeVal *vVal=NULL)
Creates a new ExprTreeNode and combines two sub-trees (lNode and rNode) by adjoining them to the newl...
ExpressionTree & operator^=(const ExpressionTree &rightTree)
Add the input rightTree to the right side of *this, adjoining the two trees with division. 
ExpressionTree operator*(const ExpressionTree &rightTree)
Combine *this and the input rightTree into a new expression tree adjoining the two trees with multipl...
ExpressionTree & operator-=(const ExpressionTree &rightTree)
Add the input rightTree to the right side of *this, adjoining the two trees with subtraction. 
ExpressionTree & operator+=(const ExpressionTree &rightTree)
Add the input rightTree to the right side of *this, adjoining the two trees with addition. 
void fromVector(const std::vector< ExpTreeConvert > &ringVec)
Fill this expression tree with the vector of BPASRing elements specified. 
Definition: ExpressionTree.hpp:180
ExpressionTree operator-(const ExpressionTree &rightTree)
Combine *this and the input rightTree into a new expression tree adjoining the two trees with subtrac...
ExpressionTree & operator/=(const ExpressionTree &rightTree)
Add the input rightTree to the right side of *this, adjoining the two trees with division. 
std::string toMapleString() const
Convert *this to a string in the format expected of a maple expression. 
ExprTreeNode is a single node in the bianry tree of an ExpressionTree. 
Definition: ExprTreeNode.hpp:76
ExpressionTree & operator=(const ExpressionTree &otherTree)
Copy assignment. 
An interface defining conversion of a class to an ExpressionTree. 
Definition: ExpressionTree.hpp:195
ExpressionTree & operator*=(const ExpressionTree &rightTree)
Add the input rightTree to the right side of *this, adjoining the two trees with multiplication. 
ExpressionTree()
Construct the default, empty tree. 
~ExpressionTree()
Destructor.