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 ) :
25 s1_( s1 ), s2_( s2 ), s3_( s3 ), s4_( s4 ), s5_( s5 ) { }
28 return s1_( t ) && s2_( t ) && s3_( t ) && s4_( t ) && s5_( t );
41 template<
typename S1,
typename S2>
42 struct AndSelector<S1, S2,
helpers::NullAndOperand, helpers::NullAndOperand, helpers::NullAndOperand> {
44 s1_( s1 ), s2_( s2 ) { }
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> {
62 s1_( s1 ), s2_( s2 ), s3_( s3 ) { }
65 return s1_( t ) && s2_( t ) && s3_( t );
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 ) :
81 s1_( s1 ), s2_( s2 ), s3_( s3 ), s4_( s4 ) { }
84 return s1_( t ) && s2_( t ) && s3_( t ) && s4_( t );
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 {
88 return s1_( t1 ) && s2_( t2 ) && s3_( t3 ) && s4_( t4 );
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
def template(fileName, svg, replaceme="REPLACEME")
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