CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes
reco::parser::ExpressionSetter Struct Reference

#include <ExpressionSetter.h>

Public Member Functions

 ExpressionSetter (ExpressionPtr &expr, ExpressionStack &exprStack)
 
void operator() (const char *, const char *) const
 

Public Attributes

ExpressionPtrexpr_
 
ExpressionStackexprStack_
 

Detailed Description

Definition at line 18 of file ExpressionSetter.h.

Constructor & Destructor Documentation

reco::parser::ExpressionSetter::ExpressionSetter ( ExpressionPtr expr,
ExpressionStack exprStack 
)
inline

Definition at line 19 of file ExpressionSetter.h.

19  :
20  expr_( expr ), exprStack_( exprStack ) { }

Member Function Documentation

void ExpressionSetter::operator() ( const char *  begin,
const char *   
) const

Definition at line 9 of file ExpressionSetter.cc.

References edm::hlt::Exception, expr_, and exprStack_.

9  {
10  if ( exprStack_.size() == 0 )
11  throw Exception( begin )
12  << "Grammar error: When trying parse an expression, expression stack is empty! Please contact a developer.";
13  expr_ = exprStack_.back();
14 }
#define begin
Definition: vmac.h:31

Member Data Documentation

ExpressionPtr& reco::parser::ExpressionSetter::expr_

Definition at line 23 of file ExpressionSetter.h.

Referenced by operator()().

ExpressionStack& reco::parser::ExpressionSetter::exprStack_

Definition at line 24 of file ExpressionSetter.h.

Referenced by operator()().