1 #ifndef CommonTools_Utils_AndSelector_h
2 #define CommonTools_Utils_AndSelector_h
11 struct NullAndOperand;
16 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
struct CombinedEventSetupInit;
20 template<
typename S1,
typename S2,
21 typename S3 = helpers::NullAndOperand,
typename S4 = helpers::NullAndOperand,
22 typename S5 = helpers::NullAndOperand>
24 AndSelector(
const S1 & s1,
const S2 &
s2,
const S3 & s3,
const S4 & s4,
const S5 & s5 ) :
41 template<
typename S1,
typename S2>
42 struct AndSelector<S1, S2, helpers::NullAndOperand, helpers::NullAndOperand, helpers::NullAndOperand> {
47 return s1_( t ) &&
s2_( t );
49 template<
typename T1,
typename T2>
51 return s1_( t1 ) &&
s2_( t2 );
59 template<typename S1, typename S2, typename S3>
60 struct
AndSelector<S1, S2, S3, helpers::NullAndOperand, helpers::NullAndOperand> {
67 template<
typename T1,
typename T2,
typename T3>
68 bool operator()(
const T1 & t1,
const T2 & t2,
const T3 & t3 )
const {
69 return s1_( t1 ) &&
s2_( t2 ) &&
s3_( t3 );
78 template<typename S1, typename S2, typename S3, typename S4>
80 AndSelector(
const S1 & s1,
const S2 &
s2,
const S3 & s3,
const S4 & s4 ) :
86 template<
typename T1,
typename T2,
typename T3,
typename T4>
87 bool operator()(
const T1 & t1,
const T2 & t2,
const T3 & t3,
const T4 & t4 )
const {
AndSelector(const S1 &s1, const S2 &s2, const S3 &s3)
bool operator()(const T &t) const
bool operator()(const T &t) const
bool operator()(const T &t) const
bool operator()(const T &t) const
AndSelector(const S1 &s1, const S2 &s2, const S3 &s3, const S4 &s4)
bool operator()(const T1 &t1, const T2 &t2) const
bool operator()(const T1 &t1, const T2 &t2, const T3 &t3) const
AndSelector(const S1 &s1, const S2 &s2)
AndSelector(const S1 &s1, const S2 &s2, const S3 &s3, const S4 &s4, const S5 &s5)
bool operator()(const T1 &t1, const T2 &t2, const T3 &t3, const T4 &t4) const