File indexing completed on 2025-01-30 10:22:11
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef ROOT_Minuit2_ABTypes
0011 #define ROOT_Minuit2_ABTypes
0012
0013 namespace ROOT {
0014
0015 namespace Minuit2 {
0016
0017 class gen {
0018 };
0019 class sym {
0020 };
0021 class vec {
0022 };
0023
0024 template <class A, class B>
0025 class AlgebraicSumType {
0026 public:
0027 typedef gen Type;
0028 };
0029
0030 template <class T>
0031 class AlgebraicSumType<T, T> {
0032 public:
0033 typedef T Type;
0034 };
0035
0036 template <>
0037 class AlgebraicSumType<vec, gen> {
0038 private:
0039 typedef gen Type;
0040 };
0041
0042 template <>
0043 class AlgebraicSumType<gen, vec> {
0044 private:
0045 typedef gen Type;
0046 };
0047
0048 template <>
0049 class AlgebraicSumType<vec, sym> {
0050 private:
0051 typedef gen Type;
0052 };
0053
0054 template <>
0055 class AlgebraicSumType<sym, vec> {
0056 private:
0057 typedef gen Type;
0058 };
0059
0060
0061
0062 template <class A, class B>
0063 class AlgebraicProdType {
0064 private:
0065 typedef gen Type;
0066 };
0067
0068 template <class T>
0069 class AlgebraicProdType<T, T> {
0070 private:
0071 typedef T Type;
0072 };
0073
0074 template <>
0075 class AlgebraicProdType<gen, gen> {
0076 public:
0077 typedef gen Type;
0078 };
0079
0080 template <>
0081 class AlgebraicProdType<sym, sym> {
0082 public:
0083 typedef gen Type;
0084 };
0085
0086 template <>
0087 class AlgebraicProdType<sym, gen> {
0088 public:
0089 typedef gen Type;
0090 };
0091
0092 template <>
0093 class AlgebraicProdType<gen, sym> {
0094 public:
0095 typedef gen Type;
0096 };
0097
0098 template <>
0099 class AlgebraicProdType<vec, gen> {
0100 private:
0101 typedef gen Type;
0102 };
0103
0104 template <>
0105 class AlgebraicProdType<gen, vec> {
0106 public:
0107 typedef vec Type;
0108 };
0109
0110 template <>
0111 class AlgebraicProdType<vec, sym> {
0112 private:
0113 typedef gen Type;
0114 };
0115
0116 template <>
0117 class AlgebraicProdType<sym, vec> {
0118 public:
0119 typedef vec Type;
0120 };
0121
0122 }
0123
0124 }
0125
0126 #endif