CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
reco::parser::ExpressionQuaterOperator< Op > Struct Template Reference

#include <ExpressionQuaterOperator.h>

Inheritance diagram for reco::parser::ExpressionQuaterOperator< Op >:
reco::parser::ExpressionBase

Public Member Functions

 ExpressionQuaterOperator (ExpressionStack &expStack)
 
double value (const edm::ObjectWithDict &o) const override
 
- Public Member Functions inherited from reco::parser::ExpressionBase
virtual ~ExpressionBase ()
 

Private Attributes

ExpressionPtr args_ [4]
 
Op op_
 

Detailed Description

template<typename Op>
struct reco::parser::ExpressionQuaterOperator< Op >

Definition at line 19 of file ExpressionQuaterOperator.h.

Constructor & Destructor Documentation

template<typename Op >
reco::parser::ExpressionQuaterOperator< Op >::ExpressionQuaterOperator ( ExpressionStack expStack)
inline

Definition at line 23 of file ExpressionQuaterOperator.h.

References reco::parser::ExpressionQuaterOperator< Op >::args_.

23  {
24  args_[3] = expStack.back(); expStack.pop_back();
25  args_[2] = expStack.back(); expStack.pop_back();
26  args_[1] = expStack.back(); expStack.pop_back();
27  args_[0] = expStack.back(); expStack.pop_back();
28  }

Member Function Documentation

template<typename Op >
double reco::parser::ExpressionQuaterOperator< Op >::value ( const edm::ObjectWithDict o) const
inlineoverridevirtual

Implements reco::parser::ExpressionBase.

Definition at line 20 of file ExpressionQuaterOperator.h.

References reco::parser::ExpressionQuaterOperator< Op >::args_, and reco::parser::ExpressionQuaterOperator< Op >::op_.

Referenced by Types.int32::__nonzero__(), Types.uint32::__nonzero__(), Types.int64::__nonzero__(), Types.uint64::__nonzero__(), Types.double::__nonzero__(), Types.bool::__nonzero__(), Types.string::__nonzero__(), average.Average::average(), Vispa.Views.PropertyView.FileProperty::buttonClicked(), Types.string::configValue(), Types.FileInPath::configValue(), Mixins.UsingBlock::dumpPython(), Types.int32::insertInto(), Types.uint32::insertInto(), Types.int64::insertInto(), Types.uint64::insertInto(), Types.double::insertInto(), Mixins.UsingBlock::insertInto(), Types.bool::insertInto(), Types.string::insertInto(), Types.FileInPath::insertInto(), Types.vint32::insertInto(), Types.vuint32::insertInto(), Types.vint64::insertInto(), Types.vuint64::insertInto(), Types.vdouble::insertInto(), Types.vbool::insertInto(), Types.vstring::insertInto(), and Vispa.Views.PropertyView.FileProperty::labelDoubleClicked().

20  {
21  return op_(args_[0]->value(o), args_[1]->value(o), args_[2]->value(o), args_[3]->value(o));
22  }
double value(const edm::ObjectWithDict &o) const override

Member Data Documentation

template<typename Op >
ExpressionPtr reco::parser::ExpressionQuaterOperator< Op >::args_[4]
private
template<typename Op >
Op reco::parser::ExpressionQuaterOperator< Op >::op_
private