Go to the documentation of this file.
37 #ifndef BZ_HAVE_TEMPLATES
38 #error In <blitz/config.h>: A working template implementation is required by Blitz++ (you may need to rerun the compiler/bzconfig script)
41 #ifndef BZ_HAVE_MEMBER_TEMPLATES
42 #error In <blitz/config.h>: Your compiler does not support member templates. (you may need to rerun the compiler/bzconfig script)
45 #ifndef BZ_HAVE_FULL_SPECIALIZATION_SYNTAX
46 #error In <blitz/config.h>: Your compiler does not support template<> full specialization syntax. You may need to rerun the compiler/bzconfig script.
49 #ifndef BZ_HAVE_PARTIAL_ORDERING
50 #error In <blitz/config.h>: Your compiler does not support partial ordering (you may need to rerun the compiler/bzconfig script)
53 #ifndef BZ_HAVE_PARTIAL_SPECIALIZATION
54 #error In <blitz/config.h>: Your compiler does not support partial specialization (you may need to rerun the compiler/bzconfig script)
57 #ifdef BZ_HAVE_NAMESPACES
58 #define BZ_NAMESPACE(X) namespace X {
59 #define BZ_NAMESPACE_END }
60 #define BZ_USING_NAMESPACE(X) using namespace X;
62 #define BZ_NAMESPACE(X)
63 #define BZ_NAMESPACE_END
64 #define BZ_USING_NAMESPACE(X)
67 #ifdef BZ_HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE
68 #define BZ_USE_NUMTRAIT
71 #ifdef BZ_HAVE_DEFAULT_TEMPLATE_PARAMETERS
72 #define BZ_TEMPLATE_DEFAULT(X) = X
74 #define BZ_TEMPLATE_DEFAULT
77 #ifndef BZ_HAVE_EXPLICIT
81 #ifdef BZ_HAVE_TYPENAME
82 #define _bz_typename typename
87 #ifndef BZ_HAVE_MUTABLE
91 #ifdef BZ_DISABLE_RESTRICT
92 #undef BZ_HAVE_NCEG_RESTRICT
95 #ifndef BZ_HAVE_NCEG_RESTRICT
96 #if defined(BZ_HAVE_NCEG_RESTRICT_EGCS)
97 #define restrict __restrict__
103 #if !defined(BZ_HAVE_BOOL) && !defined(BZ_NO_BOOL_KLUDGE)
109 #ifdef BZ_HAVE_ENUM_COMPUTATIONS_WITH_CAST
110 #define BZ_ENUM_CAST(X) (int)X
111 #elif defined(BZ_HAVE_ENUM_COMPUTATIONS)
112 #define BZ_ENUM_CAST(X) X
114 #error In <blitz/config.h>: Your compiler does not support enum computations. You may have to rerun compiler/bzconfig.
117 #if defined(BZ_MATH_FN_IN_NAMESPACE_STD)
118 #define BZ_MATHFN_SCOPE(x) std::x
119 #elif defined(BZ_HAVE_NAMESPACES)
120 #define BZ_MATHFN_SCOPE(x) ::x
122 #define BZ_MATHFN_SCOPE(x) x
125 #if defined(BZ_HAVE_COMPLEX_MATH_IN_NAMESPACE_STD)
126 #define BZ_CMATHFN_SCOPE(x) std::x
127 #elif defined(BZ_HAVE_NAMESPACES)
128 #define BZ_CMATHFN_SCOPE(x) ::x
130 #define BZ_CMATHFN_SCOPE(x) x
133 #if defined(BZ_HAVE_NAMESPACES)
134 #define BZ_IEEEMATHFN_SCOPE(x) ::x
136 #define BZ_IEEEMATHFN_SCOPE(x) x
139 #if defined(BZ_HAVE_NAMESPACES)
140 #define BZ_BLITZ_SCOPE(x) blitz::x
142 #define BZ_BLITZ_SCOPE(x) ::x
145 #if defined(BZ_HAVE_NAMESPACES) && defined(BZ_HAVE_STD)
146 #define BZ_STD_SCOPE(x) std::x
148 #define BZ_STD_SCOPE(x) ::x
151 #endif // BZ_COMPILER_H