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 103 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 117 of file L1GTAlgoBlockProducer.cc.

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

117  {
118  T op;
119  return op(left_->evaluate(event), right_->evaluate(event));
120  }
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 112 of file L1GTAlgoBlockProducer.cc.

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

112  {
113  left_->init(iC);
114  right_->init(iC);
115  }
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 138 of file L1GTAlgoBlockProducer.cc.

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

138  {
139  out << std::string(indentation, ' ') << "and\n";
140  left_->print(out, indentation + 4);
141  right_->print(out, indentation + 4);
142  }
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 144 of file L1GTAlgoBlockProducer.cc.

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

144  {
145  out << std::string(indentation, ' ') << "or\n";
146  left_->print(out, indentation + 4);
147  right_->print(out, indentation + 4);
148  }
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 107 of file L1GTAlgoBlockProducer.cc.

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

107 { 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 108 of file L1GTAlgoBlockProducer.cc.

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

108 { 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 128 of file L1GTAlgoBlockProducer.cc.

128  {
129  return And;
130  }

◆ type() [3/3]

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

Implements pathStatusExpression::Evaluator.

Definition at line 133 of file L1GTAlgoBlockProducer.cc.

133  {
134  return Or;
135  }

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