--- math++/nodes.tcc.orig Fri Aug 13 13:01:46 2004 +++ math++/nodes.tcc Fri Aug 13 13:10:49 2004 @@ -92,7 +92,7 @@ // TNumberNode template<typename T> TNumberNode<T>::TNumberNode(const T& ANumber) : - TNode<T>(NUMBER_NODE, 0), FNumber(ANumber) { + TNode<T>(TNode<T>::NUMBER_NODE, 0), FNumber(ANumber) { } template<typename T> @@ -112,14 +112,14 @@ template<typename T> bool TNumberNode<T>::equals(const TNode<T> *ANode) const { - return this && ANode && ANode->nodeType() == NUMBER_NODE + return this && ANode && ANode->nodeType() == TNode<T>::NUMBER_NODE && FNumber == static_cast<const TNumberNode<T> *>(ANode)->FNumber; } // TSymbolNode template<typename T> TSymbolNode<T>::TSymbolNode(const std::string& ASymbol) : - TNode<T>(SYMBOL_NODE, 0), FSymbol(ASymbol) { + TNode<T>(TNode<T>::SYMBOL_NODE, 0), FSymbol(ASymbol) { } template<typename T> @@ -139,14 +139,14 @@ template<typename T> bool TSymbolNode<T>::equals(const TNode<T> *ANode) const { - return this && ANode && ANode->nodeType() == SYMBOL_NODE + return this && ANode && ANode->nodeType() == TNode<T>::SYMBOL_NODE && FSymbol == static_cast<const TSymbolNode<T> *>(ANode)->FSymbol; } // TParamNode template<typename T> TParamNode<T>::TParamNode() : - TNode<T>(PARAM_NODE, 0) { + TNode<T>(TNode<T>::PARAM_NODE, 0) { } template<typename T> @@ -161,7 +161,7 @@ template<typename T> bool TParamNode<T>::equals(const TNode<T> *ANode) const { - return this && ANode && ANode->nodeType() == PARAM_NODE; + return this && ANode && ANode->nodeType() == TNode<T>::PARAM_NODE; } // TUnaryNodeOp @@ -186,7 +186,7 @@ bool TUnaryNodeOp<T>::equals(const TNode<T> *ANode) const { // this method does not make use of the left() for performance reasons - return this && ANode && nodeType() == ANode->nodeType() && + return this && ANode && this->nodeType() == ANode->nodeType() && FNode->equals(static_cast<const TUnaryNodeOp<T> *>(ANode)->FNode.get()); } @@ -215,7 +215,7 @@ // this method does not make use of the left() and right() methods // for performance reasons - return this && ANode && nodeType() == ANode->nodeType() && + return this && ANode && this->nodeType() == ANode->nodeType() && FLeft->equals(static_cast<const TBinaryNodeOp<T> *>(ANode)->FLeft.get()) && FRight->equals(static_cast<const TBinaryNodeOp<T> *>(ANode)->FRight.get()); } @@ -223,7 +223,7 @@ // TPlusNode template<typename T> TPlusNode<T>::TPlusNode(TNode<T> *ALeft, TNode<T> *ARight) : - TBinaryNodeOp<T>(PLUS_NODE, -5, ALeft, ARight) { + TBinaryNodeOp<T>(TNode<T>::PLUS_NODE, -5, ALeft, ARight) { } template<typename T> @@ -233,13 +233,13 @@ template<typename T> TPlusNode<T> *TPlusNode<T>::clone() const { - return new TPlusNode(left()->clone(), right()->clone()); + return new TPlusNode(this->left()->clone(), this->right()->clone()); } // TNegNode template<typename T> TNegNode<T>::TNegNode(TNode<T> *ANode) : - TUnaryNodeOp<T>(NEG_NODE, -5, ANode) { + TUnaryNodeOp<T>(TNode<T>::NEG_NODE, -5, ANode) { } template<typename T> @@ -249,13 +249,13 @@ template<typename T> TNegNode<T> *TNegNode<T>::clone() const { - return new TNegNode(node()->clone()); + return new TNegNode(this->node()->clone()); } // TMulNode template<typename T> TMulNode<T>::TMulNode(TNode<T> *ALeft, TNode<T> *ARight) : - TBinaryNodeOp<T>(MUL_NODE, -3, ALeft, ARight) { + TBinaryNodeOp<T>(TNode<T>::MUL_NODE, -3, ALeft, ARight) { } template<typename T> @@ -265,13 +265,13 @@ template<typename T> TMulNode<T> *TMulNode<T>::clone() const { - return new TMulNode(left()->clone(), right()->clone()); + return new TMulNode(this->left()->clone(), this->right()->clone()); } // TDivNode template<typename T> TDivNode<T>::TDivNode(TNode<T> *ALeft, TNode<T> *ARight) : - TBinaryNodeOp<T>(DIV_NODE, -3, ALeft, ARight) { + TBinaryNodeOp<T>(TNode<T>::DIV_NODE, -3, ALeft, ARight) { } template<typename T> @@ -281,13 +281,13 @@ template<typename T> TDivNode<T> *TDivNode<T>::clone() const { - return new TDivNode(left()->clone(), right()->clone()); + return new TDivNode(this->left()->clone(), this->right()->clone()); } // TPowNode template<typename T> TPowNode<T>::TPowNode(TNode<T> *ALeft, TNode<T> *ARight) : - TBinaryNodeOp<T>(POW_NODE, -1, ALeft, ARight) { + TBinaryNodeOp<T>(TNode<T>::POW_NODE, -1, ALeft, ARight) { } template<typename T> @@ -297,13 +297,13 @@ template<typename T> TPowNode<T> *TPowNode<T>::clone() const { - return new TPowNode<T>(left()->clone(), right()->clone()); + return new TPowNode<T>(this->left()->clone(), this->right()->clone()); } // TSqrtNode template<typename T> TSqrtNode<T>::TSqrtNode(TNode<T> *ANode) : - TUnaryNodeOp<T>(SQRT_NODE, -1, ANode) { + TUnaryNodeOp<T>(TNode<T>::SQRT_NODE, -1, ANode) { } template<typename T> @@ -313,13 +313,13 @@ template<typename T> TSqrtNode<T> *TSqrtNode<T>::clone() const { - return new TSqrtNode(node()->clone()); + return new TSqrtNode(this->node()->clone()); } // TSinNode template<typename T> TSinNode<T>::TSinNode(TNode<T> *ANode) : - TUnaryNodeOp<T>(SIN_NODE, -1, ANode) { + TUnaryNodeOp<T>(TNode<T>::SIN_NODE, -1, ANode) { } template<typename T> @@ -329,13 +329,13 @@ template<typename T> TSinNode<T> *TSinNode<T>::clone() const { - return new TSinNode(node()->clone()); + return new TSinNode(this->node()->clone()); } // TCosNode template<typename T> TCosNode<T>::TCosNode(TNode<T> *ANode) : - TUnaryNodeOp<T>(COS_NODE, -1, ANode) { + TUnaryNodeOp<T>(TNode<T>::COS_NODE, -1, ANode) { } template<typename T> @@ -345,13 +345,13 @@ template<typename T> TCosNode<T> *TCosNode<T>::clone() const { - return new TCosNode(node()->clone()); + return new TCosNode(this->node()->clone()); } // TTanNode template<typename T> TTanNode<T>::TTanNode(TNode<T> *ANode) : - TUnaryNodeOp<T>(TAN_NODE, -1, ANode) { + TUnaryNodeOp<T>(TNode<T>::TAN_NODE, -1, ANode) { } template<typename T> @@ -361,7 +361,7 @@ template<typename T> TTanNode<T> *TTanNode<T>::clone() const { - return new TTanNode(node()->clone()); + return new TTanNode(this->node()->clone()); } // TCoTanNode @@ -373,7 +373,7 @@ // TLnNode template<typename T> TLnNode<T>::TLnNode(TNode<T> *ANode) : - TUnaryNodeOp<T>(LN_NODE, -1, ANode) { + TUnaryNodeOp<T>(TNode<T>::LN_NODE, -1, ANode) { } template<typename T> @@ -383,13 +383,13 @@ template<typename T> TLnNode<T> *TLnNode<T>::clone() const { - return new TLnNode(node()->clone()); + return new TLnNode(this->node()->clone()); } // TFuncNode template<typename T> TFuncNode<T>::TFuncNode(const std::string& AName, TNode<T> *AParam) : - TUnaryNodeOp<T>(FUNC_NODE, -1, AParam), FName(AName) { + TUnaryNodeOp<T>(TNode<T>::FUNC_NODE, -1, AParam), FName(AName) { } template<typename T> @@ -404,13 +404,13 @@ template<typename T> TFuncNode<T> *TFuncNode<T>::clone() const { - return new TFuncNode(FName, node()->clone()); + return new TFuncNode(FName, this->node()->clone()); } // TIfNode template<typename T> TIfNode<T>::TIfNode(TNode<T> *ACondNode, TNode<T> *AThenNode, TNode<T> *AElseNode) : - TBinaryNodeOp<T>(IF_NODE, -1, AThenNode, AElseNode), + TBinaryNodeOp<T>(TNode<T>::IF_NODE, -1, AThenNode, AElseNode), FCondition(ACondNode) { } @@ -421,12 +421,12 @@ template<typename T> TNode<T> *TIfNode<T>::trueExpr() const { - return left(); + return this->left(); } template<typename T> TNode<T> *TIfNode<T>::falseExpr() const { - return right(); + return this->right(); } template<typename T> @@ -436,13 +436,13 @@ template<typename T> TIfNode<T> *TIfNode<T>::clone() const { - return new TIfNode(FCondition->clone(), left()->clone(), right()->clone()); + return new TIfNode(FCondition->clone(), this->left()->clone(), this->right()->clone()); } // TEquNode template<typename T> TEquNode<T>::TEquNode(TNode<T> *ALeft, TNode<T> *ARight) : - TBinaryNodeOp<T>(EQU_NODE, -10, ALeft, ARight) { + TBinaryNodeOp<T>(TNode<T>::EQU_NODE, -10, ALeft, ARight) { } template<typename T> @@ -452,13 +452,13 @@ template<typename T> TEquNode<T> *TEquNode<T>::clone() const { - return new TEquNode<T>(left()->clone(), right()->clone()); + return new TEquNode<T>(this->left()->clone(), this->right()->clone()); } // TUnEquNode template<typename T> TUnEquNode<T>::TUnEquNode(TNode<T> *ALeft, TNode<T> *ARight) : - TBinaryNodeOp<T>(UNEQU_NODE, -10, ALeft, ARight) { + TBinaryNodeOp<T>(TNode<T>::UNEQU_NODE, -10, ALeft, ARight) { } template<typename T> @@ -468,13 +468,13 @@ template<typename T> TUnEquNode<T> *TUnEquNode<T>::clone() const { - return new TUnEquNode<T>(left()->clone(), right()->clone()); + return new TUnEquNode<T>(this->left()->clone(), this->right()->clone()); } // TGreaterNode template<typename T> TGreaterNode<T>::TGreaterNode(TNode<T> *ALeft, TNode<T> *ARight) : - TBinaryNodeOp<T>(GREATER_NODE, -10, ALeft, ARight) { + TBinaryNodeOp<T>(TNode<T>::GREATER_NODE, -10, ALeft, ARight) { } template<typename T> @@ -484,13 +484,13 @@ template<typename T> TGreaterNode<T> *TGreaterNode<T>::clone() const { - return new TGreaterNode<T>(left()->clone(), right()->clone()); + return new TGreaterNode<T>(this->left()->clone(), this->right()->clone()); } // TLessNode template<typename T> TLessNode<T>::TLessNode(TNode<T> *ALeft, TNode<T> *ARight) : - TBinaryNodeOp<T>(LESS_NODE, -10, ALeft, ARight) { + TBinaryNodeOp<T>(TNode<T>::LESS_NODE, -10, ALeft, ARight) { } template<typename T> @@ -500,13 +500,13 @@ template<typename T> TLessNode<T> *TLessNode<T>::clone() const { - return new TLessNode<T>(left()->clone(), right()->clone()); + return new TLessNode<T>(this->left()->clone(), this->right()->clone()); } // TGreaterEquNode template<typename T> TGreaterEquNode<T>::TGreaterEquNode(TNode<T> *ALeft, TNode<T> *ARight) : - TBinaryNodeOp<T>(GREATER_EQU_NODE, -10, ALeft, ARight) { + TBinaryNodeOp<T>(TNode<T>::GREATER_EQU_NODE, -10, ALeft, ARight) { } template<typename T> @@ -516,13 +516,13 @@ template<typename T> TGreaterEquNode<T> *TGreaterEquNode<T>::clone() const { - return new TGreaterEquNode<T>(left()->clone(), right()->clone()); + return new TGreaterEquNode<T>(this->left()->clone(), this->right()->clone()); } // TLessEquNode template<typename T> TLessEquNode<T>::TLessEquNode(TNode<T> *ALeft, TNode<T> *ARight) : - TBinaryNodeOp<T>(LESS_EQU_NODE, -10, ALeft, ARight) { + TBinaryNodeOp<T>(TNode<T>::LESS_EQU_NODE, -10, ALeft, ARight) { } template<typename T> @@ -532,7 +532,7 @@ template<typename T> TLessEquNode<T> *TLessEquNode<T>::clone() const { - return new TLessEquNode<T>(left()->clone(), right()->clone()); + return new TLessEquNode<T>(this->left()->clone(), this->right()->clone()); } } // namespace math