1 #ifndef PhysicsTools_Utilities_ParametricTrait_h
2 #define PhysicsTools_Utilities_ParametricTrait_h
20 template<
int n,
int m>
25 #define NON_PARAMETRIC( FUN ) \
26 template<> struct Parametric<FUN> { \
27 static const int value = 0; \
30 #define NON_PARAMETRIC_UNARY(FUN) \
31 template<typename A> \
32 struct Parametric<FUN<A> > { \
33 static const int value = Parametric<A>::value; \
45 #define NON_PARAMETRIC_BINARY(FUN) \
46 template<typename A, typename B> \
47 struct Parametric<FUN<A, B> > { \
48 static const int value = Parametric<A>::value || Parametric<A>::value; \
56 #undef NON_PARAMETRIC_UNARY
57 #undef NON_PARAMETRIC_BINARY
NON_PARAMETRIC_BINARY(SumStruct)
NON_PARAMETRIC_UNARY(AbsStruct)