Rev 2263 | Blame | Compare with Previous | Last modification | View Log | RSS feed
//## begin module%1.7%.codegen_version preserve=yes// Read the documentation to learn more about C++ code generator// versioning.//## end module%1.7%.codegen_version//## begin module%4209C61A01F8.cm preserve=no//## end module%4209C61A01F8.cm//## begin module%4209C61A01F8.cp preserve=no// C O P Y R I G H T N O T I C E// This material is confidential to ERG and may not be disclosed in whole// or in part to any third party nor used in any manner whatsoever other// than for the purposes expressly consented to by ERG in writing.//// This material is also copyright and may not be reproduced, stored in a// retrieval system or transmitted in any form or by any means in whole or// in part without the express written consent of ERG.//## end module%4209C61A01F8.cp//## Module: DefinedVariable%4209C61A01F8; Pseudo Package body//## Subsystem: MASS::Dev::Tools::TxnTestManager::src%41F5A79001E4//## Source file: Z:\MASS_Dev\Tools\TxnTestManager\src\DefinedVariable.cpp//## begin module%4209C61A01F8.additionalIncludes preserve=no//## end module%4209C61A01F8.additionalIncludes//## begin module%4209C61A01F8.includes preserve=yes#pragma warn -com#include <LoggingMacros.h>#pragma warn +com//## end module%4209C61A01F8.includes// TransactionSpecificationValue#include "TransactionSpecificationValue.h"// DefinedVariable#include "DefinedVariable.h"// EvaluationContext#include "EvaluationContext.h"//## begin module%4209C61A01F8.additionalDeclarations preserve=yes#include <algorithm>//## end module%4209C61A01F8.additionalDeclarations// Class DefinedVariable//## Operation: DefinedVariable%4209CBCF00A3DefinedVariable::DefinedVariable (const std::string &variableName)//## begin DefinedVariable::DefinedVariable%4209CBCF00A3.hasinit preserve=no: m_variableName(variableName)//## end DefinedVariable::DefinedVariable%4209CBCF00A3.hasinit//## begin DefinedVariable::DefinedVariable%4209CBCF00A3.initialization preserve=yes//## end DefinedVariable::DefinedVariable%4209CBCF00A3.initialization{//## begin DefinedVariable::DefinedVariable%4209CBCF00A3.body preserve=yes//## end DefinedVariable::DefinedVariable%4209CBCF00A3.body}DefinedVariable::~DefinedVariable(){//## begin DefinedVariable::~DefinedVariable%4209C61A01F8_dest.body preserve=yes//## end DefinedVariable::~DefinedVariable%4209C61A01F8_dest.body}//## Other Operations (implementation)//## Operation: evaluate%420ACC990152const bool DefinedVariable::evaluate (std::string &value, const bool &sideEffect, EvaluationContext& evaluationContext, std::vector< DefinedVariable * > &path, bool &postponed){//## begin DefinedVariable::evaluate%420ACC990152.body preserve=yesif ( std::find( path.begin(), path.end(), this ) == path.end() ){try{path.push_back( this );return ( m_expression.evaluate( value, sideEffect, evaluationContext, path, postponed ) );}__finally{path.pop_back();}}else{MERROR( "Cyclic definition found. Cannot evaluate \"" \<< m_variableName \<< "\"." );}return ( false );//## end DefinedVariable::evaluate%420ACC990152.body}//## Operation: getExpression%420ACC82000Aconst std::string & DefinedVariable::getExpression () const{//## begin DefinedVariable::getExpression%420ACC82000A.body preserve=yesreturn ( m_expression.getExpression() );//## end DefinedVariable::getExpression%420ACC82000A.body}//## Operation: setExpression%420ACC82000Bconst std::string & DefinedVariable::setExpression (const std::string &value){//## begin DefinedVariable::setExpression%420ACC82000B.body preserve=yesreturn ( m_expression.setExpression( value ) );//## end DefinedVariable::setExpression%420ACC82000B.body}// Additional Declarations//## begin DefinedVariable%4209C61A01F8.declarations preserve=yes//## end DefinedVariable%4209C61A01F8.declarations//## begin module%4209C61A01F8.epilog preserve=yes//## end module%4209C61A01F8.epilog