Belle II Software  release-08-01-10
BinaryJoin< ABinaryOp, AFunctor1, AFunctor2 > Struct Template Reference

Functor factory turning a binary functor and two functors into a new functor which executes the binary operation with input from the two given functors. More...

#include <Functional.h>

Inheritance diagram for BinaryJoin< ABinaryOp, AFunctor1, AFunctor2 >:
Collaboration diagram for BinaryJoin< ABinaryOp, AFunctor1, AFunctor2 >:

Public Member Functions

 operator FunctorTag ()
 Marker function for the isFunctor test.
 
 BinaryJoin ()=default
 Allow default construction.
 
 BinaryJoin (const ABinaryOp &binaryOp, const AFunctor1 &functor1, const AFunctor2 &functor2)
 Constructor from the nested functors.
 
 BinaryJoin (const AFunctor1 &functor1, const AFunctor2 &functor2)
 Constructor from the nested functors.
 
template<class T1 , class T2 >
auto operator() (const T1 &t1, const T2 &t2) const -> decltype(m_binaryOp(m_functor1(t1), m_functor2(t2)))
 Operator getting the result of the binary operation from two objects transformed by the two functors.
 
template<class T >
auto operator() (const T &t) const -> decltype(m_binaryOp(m_functor1(t), m_functor2(t)))
 Operator getting the result of the binary operation from one object transformed by the two functors.
 

Private Attributes

ABinaryOp m_binaryOp
 Memory for the binary operation.
 
AFunctor1 m_functor1
 Memory for the first nested functor.
 
AFunctor2 m_functor2
 Memory for the second nested functor.
 

Detailed Description

template<class ABinaryOp, class AFunctor1, class AFunctor2 = AFunctor1>
struct Belle2::TrackFindingCDC::BinaryJoin< ABinaryOp, AFunctor1, AFunctor2 >

Functor factory turning a binary functor and two functors into a new functor which executes the binary operation with input from the two given functors.

Definition at line 127 of file Functional.h.


The documentation for this struct was generated from the following file: