19 #ifndef LIBMESH_COMPARE_TYPES_H 20 #define LIBMESH_COMPARE_TYPES_H 31 template <
bool B,
class T =
void>
44 template <
typename T1,
typename T2>
46 static const bool value =
false;
58 static const bool value =
false;
61 #define ScalarTraits_true(type) \ 63 struct ScalarTraits<type> { static const bool value = true; } 89 template<
typename S,
typename T>
113 #define CompareTypes_super(a,b,super) \ 115 struct CompareTypes<a, b> { \ 116 typedef super supertype; \ 119 #define SUPERTYPE(mysub,mysuper) \ 120 CompareTypes_super(mysub, mysuper, mysuper); \ 121 CompareTypes_super(mysuper, mysub, mysuper); \ 122 CompareTypes_super(std::complex<mysub>, mysuper, std::complex<mysuper>); \ 123 CompareTypes_super(mysuper, std::complex<mysub>, std::complex<mysuper>); \ 124 CompareTypes_super(mysub, std::complex<mysuper>, std::complex<mysuper>); \ 125 CompareTypes_super(std::complex<mysuper>, mysub, std::complex<mysuper>); \ 126 CompareTypes_super(std::complex<mysub>, std::complex<mysuper>, std::complex<mysuper>); \ 127 CompareTypes_super(std::complex<mysuper>, std::complex<mysub>, std::complex<mysuper>) 157 #undef CompareTypes_super 180 #endif // LIBMESH_COMPARE_TYPES_H
std::complex< T > supertype
std::complex< T > supertype
SUPERTYPE(unsigned char, short)