CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions
triggerExpression::OperatorAnd Class Reference

#include <TriggerExpressionOperators.h>

Inheritance diagram for triggerExpression::OperatorAnd:
triggerExpression::BinaryOperator triggerExpression::Evaluator

Public Member Functions

void dump (std::ostream &out) const override
 
bool operator() (const Data &data) const override
 
 OperatorAnd (Evaluator *arg1, Evaluator *arg2)
 
- Public Member Functions inherited from triggerExpression::BinaryOperator
 BinaryOperator (Evaluator *arg1, Evaluator *arg2)
 
void init (const Data &data) override
 
std::vector< std::string > patterns () const override
 
- Public Member Functions inherited from triggerExpression::Evaluator
 Evaluator ()=default
 
virtual ~Evaluator ()=default
 

Additional Inherited Members

- Protected Attributes inherited from triggerExpression::BinaryOperator
std::unique_ptr< Evaluatorm_arg1
 
std::unique_ptr< Evaluatorm_arg2
 

Detailed Description

Definition at line 63 of file TriggerExpressionOperators.h.

Constructor & Destructor Documentation

triggerExpression::OperatorAnd::OperatorAnd ( Evaluator arg1,
Evaluator arg2 
)
inline

Definition at line 65 of file TriggerExpressionOperators.h.

65 : BinaryOperator(arg1, arg2) {}
BinaryOperator(Evaluator *arg1, Evaluator *arg2)

Member Function Documentation

void triggerExpression::OperatorAnd::dump ( std::ostream &  out) const
inlineoverridevirtual

Implements triggerExpression::Evaluator.

Definition at line 74 of file TriggerExpressionOperators.h.

References triggerExpression::BinaryOperator::m_arg1, and triggerExpression::BinaryOperator::m_arg2.

74  {
75  m_arg1->dump(out);
76  out << " AND ";
77  m_arg2->dump(out);
78  }
bool triggerExpression::OperatorAnd::operator() ( const Data data) const
inlineoverridevirtual

Implements triggerExpression::Evaluator.

Definition at line 67 of file TriggerExpressionOperators.h.

References data, diffTwoXMLs::r1, and diffTwoXMLs::r2.

67  {
68  // force the execution af both arguments, otherwise precalers won't work properly
69  bool r1 = (*m_arg1)(data);
70  bool r2 = (*m_arg2)(data);
71  return r1 and r2;
72  }
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79