CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes
triggerExpression::BinaryOperator Class Reference

#include <TriggerExpressionOperators.h>

Inheritance diagram for triggerExpression::BinaryOperator:
triggerExpression::Evaluator triggerExpression::OperatorAnd triggerExpression::OperatorMasking triggerExpression::OperatorOr triggerExpression::OperatorXor

Public Member Functions

 BinaryOperator (Evaluator *arg1, Evaluator *arg2)
 
void init (const Data &data) override
 
void mask (Evaluator const &arg) override
 
std::vector< std::string > patterns () const override
 
- Public Member Functions inherited from triggerExpression::Evaluator
virtual void disableMasks ()
 
virtual void dump (std::ostream &out, bool const ignoreMasks=false) const =0
 
virtual void enableMasks ()
 
 Evaluator ()=default
 
virtual bool masksEnabled () const
 
virtual bool operator() (const Data &data) const =0
 
virtual std::vector< std::pair< std::string, unsigned int > > triggers () const
 
virtual ~Evaluator ()=default
 

Protected Attributes

std::unique_ptr< Evaluatorm_arg1
 
std::unique_ptr< Evaluatorm_arg2
 

Detailed Description

Definition at line 29 of file TriggerExpressionOperators.h.

Constructor & Destructor Documentation

◆ BinaryOperator()

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

Definition at line 31 of file TriggerExpressionOperators.h.

31 : m_arg1(arg1), m_arg2(arg2) {}

Member Function Documentation

◆ init()

void triggerExpression::BinaryOperator::init ( const Data data)
inlineoverridevirtual

Reimplemented from triggerExpression::Evaluator.

Reimplemented in triggerExpression::OperatorMasking.

Definition at line 34 of file TriggerExpressionOperators.h.

References data, m_arg1, and m_arg2.

34  {
35  m_arg1->init(data);
36  m_arg2->init(data);
37  }
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:80

◆ mask()

void triggerExpression::BinaryOperator::mask ( Evaluator const &  arg)
inlineoverridevirtual

Reimplemented from triggerExpression::Evaluator.

Reimplemented in triggerExpression::OperatorMasking.

Definition at line 40 of file TriggerExpressionOperators.h.

References m_arg1, and m_arg2.

40  {
41  m_arg1->mask(arg);
42  m_arg2->mask(arg);
43  }
A arg
Definition: Factorize.h:31

◆ patterns()

std::vector<std::string> triggerExpression::BinaryOperator::patterns ( ) const
inlineoverridevirtual

Reimplemented from triggerExpression::Evaluator.

Definition at line 46 of file TriggerExpressionOperators.h.

References m_arg1, and m_arg2.

46  {
47  std::vector<std::string> patterns = m_arg1->patterns();
48  auto patterns2 = m_arg2->patterns();
49  patterns.insert(
50  patterns.end(), std::make_move_iterator(patterns2.begin()), std::make_move_iterator(patterns2.end()));
51  return patterns;
52  }
std::vector< std::string > patterns() const override

Member Data Documentation

◆ m_arg1

std::unique_ptr<Evaluator> triggerExpression::BinaryOperator::m_arg1
protected

◆ m_arg2

std::unique_ptr<Evaluator> triggerExpression::BinaryOperator::m_arg2
protected