10 #ifndef ROOT_Minuit2_ABTypes
11 #define ROOT_Minuit2_ABTypes
22 template<
class A,
class B>
23 class AlgebraicSumType {
29 class AlgebraicSumType<T, T> {
35 class AlgebraicSumType<vec, gen> {
41 class AlgebraicSumType<gen, vec> {
47 class AlgebraicSumType<vec, sym> {
53 class AlgebraicSumType<sym, vec> {
60 template<
class A,
class B>
61 class AlgebraicProdType {
67 class AlgebraicProdType<T, T> {
73 class AlgebraicProdType<gen, gen> {
79 class AlgebraicProdType<sym, sym> {
85 class AlgebraicProdType<sym, gen> {
91 class AlgebraicProdType<gen, sym> {
97 class AlgebraicProdType<vec, gen> {
103 class AlgebraicProdType<gen, vec> {
109 class AlgebraicProdType<vec, sym> {
115 class AlgebraicProdType<sym, vec> {
126 #endif // ROOT_Minuit2_ABTypes