CMS 3D CMS Logo

Difference.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_Utilities_Difference_h
2 #define PhysicsTools_Utilities_Difference_h
5 
6 namespace funct {
7 
8  template <typename A, typename B>
9  struct Difference {
11  inline static type combine(const A& a, const B& b) { return a + (-b); }
12  };
13 
14  template <typename A, typename B>
15  inline typename Difference<A, B>::type operator-(const A& a, const B& b) {
16  return Difference<A, B>::combine(a, b);
17  }
18 
19 } // namespace funct
20 
21 #endif
funct::B
TEMPL(T2) struct Divides B
Definition: Factorize.h:24
funct::Difference::combine
static type combine(const A &a, const B &b)
Definition: Difference.h:11
funct::Difference::type
Sum< A, typename Minus< B >::type >::type type
Definition: Difference.h:10
b
double b
Definition: hdecay.h:118
Sum.h
a
double a
Definition: hdecay.h:119
funct::operator-
Difference< A, B >::type operator-(const A &a, const B &b)
Definition: Difference.h:15
A
funct::Difference
Definition: Difference.h:9
funct::SumStruct
Definition: Sum.h:7
funct::Sum
Definition: Sum.h:18
Minus.h
funct
Definition: Abs.h:5