Developer documentation

texp_sup.hpp
Go to the documentation of this file.
1 #ifndef realroot_ARITHM_TRAITS_SUP_H
2 #define realroot_ARITHM_TRAITS_SUP_H
3 
4 #define SUP_T(A,B) typename texp::sup<A,B>::T
5 
7 
8 namespace mmx {
9 
10 namespace texp {
11 
12 template<typename X, typename Y>
13 struct sup_
14 {
15  typedef X T;
16 };
17 
18 // template<typename X> struct sup_<X,X> { typedef X T; };
19 template<class X,class Y> struct sup;
20 
21 template<typename X, typename Y>
22 struct sup
23 {
24  typedef typename ucstref<X>::T _X;
25  typedef typename ucstref<Y>::T _Y;
26  typedef typename issubsetof< X, Y >::T TA;
27  typedef typename issubsetof< Y, X >::T TB;
28  typedef typename tselect< TA, Y, null_t >::T A;
29  typedef typename tselect< TB, X, null_t >::T B;
30  typedef typename sup_<_X,_Y>::T C;
31  typedef typename sfirstnn< C, A, B >::T T;
32 };
33 
34 }
35 
36 }// end namespace mmx
37 
38 #endif
TMPL X
Definition: polynomial_operators.hpp:148
Definition: texp_sup.hpp:13
ucstref< Y >::T _Y
Definition: texp_sup.hpp:25
X T
Definition: texp_sup.hpp:15
issubsetof< Y, X >::T TB
Definition: texp_sup.hpp:27
tselect< TA, Y, null_t >::T A
Definition: texp_sup.hpp:28
sup_< _X, _Y >::T C
Definition: texp_sup.hpp:30
sfirstnn< typename equal< UX, UY >::T, typename issubsetof_< UX, UY >::T, typename kernel_issubsetof< typename kernelof< UX >::T, UX, UY >::T, typename kernel_issubsetof< typename kernelof< UY >::T, UX, UY >::T >::T T
Definition: texp_issubsetof.hpp:56
ucstref< X >::T _X
Definition: texp_sup.hpp:24
uref< typename ucst< X >::T >::T T
Definition: texp_strip_qualifiers.hpp:28
A T
Definition: texp_tests.hpp:28
Definition: texp_sup.hpp:19
sfirstnnl< L >::T T
Definition: texp_list.hpp:85
sfirstnn< C, A, B >::T T
Definition: texp_sup.hpp:31
issubsetof< X, Y >::T TA
Definition: texp_sup.hpp:26
tselect< TB, X, null_t >::T B
Definition: texp_sup.hpp:29
Definition: array.hpp:12
Home