00001 #ifndef realroot_ARITHM_TRAITS_HASPROPERTY_H
00002 #define realroot_ARITHM_TRAITS_HASPROPERTY_H
00003
00004 #include "realroot/traits_isexact.hpp"
00005 #include "realroot/traits_isring.hpp"
00006 #include "realroot/traits_isfield.hpp"
00007
00008 namespace mmx {
00009
00010 namespace texp {
00011
00012 template< typename X >
00013 struct hasproperty
00014 {
00015 typedef typename isexact< X >::T exact;
00016 typedef typename isring < X >::T ring;
00017 typedef typename isfield< X >::T field;
00018 };
00019
00020 }
00021
00022 }
00023
00024 #endif