Developer documentation

texp_isfield.hpp
Go to the documentation of this file.
1 #ifndef realroot_ARITHM_TRAITS_ISFIELD_H
2 #define realroot_ARITHM_TRAITS_ISFIELD_H
3 
5 
6 //======================================================================
7 namespace mmx {
8 //======================================================================
9 
10 namespace texp {
11 
12  template<typename X>
13  struct isfield_ { typedef false_t T; };
14 
15  template<> struct isfield_<float> { typedef true_t T; };
16  template<> struct isfield_<double> { typedef true_t T; };
17  template<> struct isfield_<long double> { typedef true_t T; };
18 
19  template<typename K, typename X>
20  struct kernel_isfield { typedef true_t T; };
21  template<typename K>
22  struct kernel_isfield< K, typename K::integer > { typedef false_t T; };
23  template<typename X>
24  struct kernel_isfield<null_t,X> { typedef typename isfield_<X>::T T; };
25 
26  template<typename X>
27  struct isfield
28  {
29  typedef typename ucstref<X>::T _X;
31  };
32 
33 };
34 
35 //======================================================================
36 } // namespace mmx
37 //======================================================================
38 
39 #endif
true_t T
Definition: texp_isfield.hpp:16
false_t T
Definition: texp_isfield.hpp:22
false_t T
Definition: texp_isfield.hpp:13
TMPL X
Definition: polynomial_operators.hpp:148
structure defining a the empty list
Definition: texp_bool.hpp:11
true_t T
Definition: texp_isfield.hpp:17
Definition: texp_isfield.hpp:13
structure defining a positive answer
Definition: texp_bool.hpp:7
true_t T
Definition: texp_isfield.hpp:20
Definition: texp_isfield.hpp:20
ucstref< X >::T _X
Definition: texp_isfield.hpp:29
true_t T
Definition: texp_isfield.hpp:15
uref< typename ucst< X >::T >::T T
Definition: texp_strip_qualifiers.hpp:28
Definition: texp_isfield.hpp:27
structure defining a negative answer
Definition: texp_bool.hpp:9
kernel_isfield< typename kernelof< _X >::T, _X >::T T
Definition: texp_isfield.hpp:30
Definition: array.hpp:12
isfield_< X >::T T
Definition: texp_isfield.hpp:24
Home