CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
pathStatusExpression::BinaryOperator< T > Class Template Reference
Inheritance diagram for pathStatusExpression::BinaryOperator< T >:
pathStatusExpression::Evaluator

Public Member Functions

bool evaluate (edm::Event const &event) const override
 
void init (edm::ConsumesCollector &iC) override
 
void print (std::ostream &out, unsigned int indentation) const override
 
template<>
void print (std::ostream &out, unsigned int indentation) const
 
template<>
void print (std::ostream &out, unsigned int indentation) const
 
void setLeft (std::unique_ptr< Evaluator > &&v) override
 
void setRight (std::unique_ptr< Evaluator > &&v) override
 
EvaluatorType type () const override
 
template<>
Evaluator::EvaluatorType type () const
 
template<>
Evaluator::EvaluatorType type () const
 
- Public Member Functions inherited from pathStatusExpression::Evaluator
virtual const char * pathName () const
 
virtual ~Evaluator ()
 

Private Attributes

edm::propagate_const< std::unique_ptr< Evaluator > > left_
 
edm::propagate_const< std::unique_ptr< Evaluator > > right_
 

Additional Inherited Members

- Public Types inherited from pathStatusExpression::Evaluator
enum  EvaluatorType {
  Name, Not, And, Or,
  BeginParen
}
 

Detailed Description

template<typename T>
class pathStatusExpression::BinaryOperator< T >

Definition at line 104 of file L1GTAlgoBlockProducer.cc.

Member Function Documentation

◆ evaluate()

template<typename T >
bool pathStatusExpression::BinaryOperator< T >::evaluate ( edm::Event const &  event) const
inlineoverridevirtual

Reimplemented from pathStatusExpression::Evaluator.

Definition at line 118 of file L1GTAlgoBlockProducer.cc.

References pathStatusExpression::BinaryOperator< T >::left_, findAndChange::op, and pathStatusExpression::BinaryOperator< T >::right_.

118  {
119  T op;
120  return op(left_->evaluate(event), right_->evaluate(event));
121  }
edm::propagate_const< std::unique_ptr< Evaluator > > left_
edm::propagate_const< std::unique_ptr< Evaluator > > right_
long double T
Definition: event.py:1

◆ init()

template<typename T >
void pathStatusExpression::BinaryOperator< T >::init ( edm::ConsumesCollector iC)
inlineoverridevirtual

Reimplemented from pathStatusExpression::Evaluator.

Definition at line 113 of file L1GTAlgoBlockProducer.cc.

References pathStatusExpression::BinaryOperator< T >::left_, and pathStatusExpression::BinaryOperator< T >::right_.

113  {
114  left_->init(iC);
115  right_->init(iC);
116  }
edm::propagate_const< std::unique_ptr< Evaluator > > left_
edm::propagate_const< std::unique_ptr< Evaluator > > right_

◆ print() [1/3]

template<typename T >
void pathStatusExpression::BinaryOperator< T >::print ( std::ostream &  out,
unsigned int  indentation 
) const
overridevirtual

Reimplemented from pathStatusExpression::Evaluator.

◆ print() [2/3]

template<>
void pathStatusExpression::BinaryOperator< std::logical_and< bool > >::print ( std::ostream &  out,
unsigned int  indentation 
) const
virtual

Reimplemented from pathStatusExpression::Evaluator.

Definition at line 139 of file L1GTAlgoBlockProducer.cc.

References printContent_cfi::indentation, MillePedeFileConverter_cfg::out, and AlCaHLTBitMon_QueryRunRegistry::string.

139  {
140  out << std::string(indentation, ' ') << "and\n";
141  left_->print(out, indentation + 4);
142  right_->print(out, indentation + 4);
143  }
edm::propagate_const< std::unique_ptr< Evaluator > > left_
edm::propagate_const< std::unique_ptr< Evaluator > > right_

◆ print() [3/3]

template<>
void pathStatusExpression::BinaryOperator< std::logical_or< bool > >::print ( std::ostream &  out,
unsigned int  indentation 
) const
virtual

Reimplemented from pathStatusExpression::Evaluator.

Definition at line 145 of file L1GTAlgoBlockProducer.cc.

References printContent_cfi::indentation, MillePedeFileConverter_cfg::out, and AlCaHLTBitMon_QueryRunRegistry::string.

145  {
146  out << std::string(indentation, ' ') << "or\n";
147  left_->print(out, indentation + 4);
148  right_->print(out, indentation + 4);
149  }
edm::propagate_const< std::unique_ptr< Evaluator > > left_
edm::propagate_const< std::unique_ptr< Evaluator > > right_

◆ setLeft()

template<typename T >
void pathStatusExpression::BinaryOperator< T >::setLeft ( std::unique_ptr< Evaluator > &&  v)
inlineoverridevirtual

Reimplemented from pathStatusExpression::Evaluator.

Definition at line 108 of file L1GTAlgoBlockProducer.cc.

References pathStatusExpression::BinaryOperator< T >::left_, eostools::move(), and findQualityFiles::v.

108 { left_ = std::move(v); }
edm::propagate_const< std::unique_ptr< Evaluator > > left_
def move(src, dest)
Definition: eostools.py:511

◆ setRight()

template<typename T >
void pathStatusExpression::BinaryOperator< T >::setRight ( std::unique_ptr< Evaluator > &&  v)
inlineoverridevirtual

Reimplemented from pathStatusExpression::Evaluator.

Definition at line 109 of file L1GTAlgoBlockProducer.cc.

References eostools::move(), pathStatusExpression::BinaryOperator< T >::right_, and findQualityFiles::v.

109 { right_ = std::move(v); }
edm::propagate_const< std::unique_ptr< Evaluator > > right_
def move(src, dest)
Definition: eostools.py:511

◆ type() [1/3]

template<typename T >
EvaluatorType pathStatusExpression::BinaryOperator< T >::type ( ) const
overridevirtual

◆ type() [2/3]

template<>
Evaluator::EvaluatorType pathStatusExpression::BinaryOperator< std::logical_and< bool > >::type ( ) const
inlinevirtual

Implements pathStatusExpression::Evaluator.

Definition at line 129 of file L1GTAlgoBlockProducer.cc.

129  {
130  return And;
131  }

◆ type() [3/3]

template<>
Evaluator::EvaluatorType pathStatusExpression::BinaryOperator< std::logical_or< bool > >::type ( ) const
inlinevirtual

Implements pathStatusExpression::Evaluator.

Definition at line 134 of file L1GTAlgoBlockProducer.cc.

134  {
135  return Or;
136  }

Member Data Documentation

◆ left_

template<typename T >
edm::propagate_const<std::unique_ptr<Evaluator> > pathStatusExpression::BinaryOperator< T >::left_
private

◆ right_

template<typename T >
edm::propagate_const<std::unique_ptr<Evaluator> > pathStatusExpression::BinaryOperator< T >::right_
private