![]() |
![]() |
#include <BinarySelectorSetter.h>
Public Member Functions | |
BinarySelectorSetter (SelectorStack &selStack, ComparisonStack &cmpStack, ExpressionStack &expStack) | |
void | operator() (const char *begin, const char *) const |
Private Attributes | |
ComparisonStack & | cmpStack_ |
ExpressionStack & | expStack_ |
SelectorStack & | selStack_ |
Definition at line 22 of file BinarySelectorSetter.h.
reco::parser::BinarySelectorSetter::BinarySelectorSetter | ( | SelectorStack & | selStack, |
ComparisonStack & | cmpStack, | ||
ExpressionStack & | expStack | ||
) | [inline] |
Definition at line 24 of file BinarySelectorSetter.h.
void reco::parser::BinarySelectorSetter::operator() | ( | const char * | begin, |
const char * | |||
) | const [inline] |
Definition at line 28 of file BinarySelectorSetter.h.
References cmpStack_, Exception, expStack_, and selStack_.
{ if(expStack_.empty()) throw Exception(begin) << "Grammar error: empty expression stack. Please contact developer."; if(cmpStack_.empty()) throw Exception(begin) << "Grammar error: empty comparator stack. Please contact developer." << "\""; boost::shared_ptr<ExpressionBase> rhs = expStack_.back(); expStack_.pop_back(); boost::shared_ptr<ExpressionBase> lhs = expStack_.back(); expStack_.pop_back(); boost::shared_ptr<ComparisonBase> comp = cmpStack_.back(); cmpStack_.pop_back(); #ifdef BOOST_SPIRIT_DEBUG BOOST_SPIRIT_DEBUG_OUT << "pushing binary selector" << std::endl; #endif selStack_.push_back(SelectorPtr(new BinarySelector(lhs, comp, rhs))); }
Definition at line 45 of file BinarySelectorSetter.h.
Referenced by operator()().
Definition at line 46 of file BinarySelectorSetter.h.
Referenced by operator()().
Definition at line 44 of file BinarySelectorSetter.h.
Referenced by operator()().