All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LongDouble.h
Go to the documentation of this file.
1 //=================================================================================================
20 //=================================================================================================
21 
22 #ifndef _BLAZE_UTIL_CONSTRAINTS_LONGDOUBLE_H_
23 #define _BLAZE_UTIL_CONSTRAINTS_LONGDOUBLE_H_
24 
25 
26 //*************************************************************************************************
27 // Includes
28 //*************************************************************************************************
29 
31 #include <blaze/util/Suffix.h>
33 
34 
35 namespace blaze {
36 
37 //=================================================================================================
38 //
39 // MUST_BE_LONGDOUBLE_TYPE CONSTRAINT
40 //
41 //=================================================================================================
42 
43 //*************************************************************************************************
53 template< bool > struct CONSTRAINT_MUST_BE_LONGDOUBLE_TYPE_FAILED;
54 template<> struct CONSTRAINT_MUST_BE_LONGDOUBLE_TYPE_FAILED<true> { enum { value = 1 }; };
56 //*************************************************************************************************
57 
58 
59 //*************************************************************************************************
67 #define BLAZE_CONSTRAINT_MUST_BE_LONGDOUBLE_TYPE(T) \
68  typedef \
69  ::blaze::CONSTRAINT_TEST< \
70  ::blaze::CONSTRAINT_MUST_BE_LONGDOUBLE_TYPE_FAILED< ::blaze::IsLongDouble<T>::value >::value > \
71  BLAZE_JOIN( CONSTRAINT_MUST_BE_LONGDOUBLE_TYPE_TYPEDEF, __LINE__ )
72 //*************************************************************************************************
73 
74 
75 
76 
77 //=================================================================================================
78 //
79 // MUST_NOT_BE_LONGDOUBLE_TYPE CONSTRAINT
80 //
81 //=================================================================================================
82 
83 //*************************************************************************************************
93 template< bool > struct CONSTRAINT_MUST_NOT_BE_LONGDOUBLE_TYPE_FAILED;
94 template<> struct CONSTRAINT_MUST_NOT_BE_LONGDOUBLE_TYPE_FAILED<true> { enum { value = 1 }; };
96 //*************************************************************************************************
97 
98 
99 //*************************************************************************************************
107 #define BLAZE_CONSTRAINT_MUST_NOT_BE_LONGDOUBLE_TYPE(T) \
108  typedef \
109  ::blaze::CONSTRAINT_TEST< \
110  ::blaze::CONSTRAINT_MUST_NOT_BE_LONGDOUBLE_TYPE_FAILED< !::blaze::IsLongDouble<T>::value >::value > \
111  BLAZE_JOIN( CONSTRAINT_MUST_NOT_BE_LONGDOUBLE_TYPE_TYPEDEF, __LINE__ )
112 //*************************************************************************************************
113 
114 } // namespace blaze
115 
116 #endif