Lines 92-112
Link Here
|
92 |
# undef __declare_numeric_base_member |
92 |
# undef __declare_numeric_base_member |
93 |
|
93 |
|
94 |
# if defined (__STL_NO_STATIC_TEMPLATE_DATA) |
94 |
# if defined (__STL_NO_STATIC_TEMPLATE_DATA) |
95 |
# define __HACK_ILIMITS(_Int, __imin, __imax, __idigits) _Integer_limits<_Int, __imin, __imax, __idigits> |
95 |
# define __HACK_ILIMITS(_Int, __imin, __imax, __idigits, __ismod) _Integer_limits<_Int, __imin, __imax, __idigits, __ismod> |
96 |
# define __HACK_NOTHING |
96 |
# define __HACK_NOTHING |
97 |
# define __declare_integer_limits_member(_Int, __imin, __imax, __idigits, __type, __mem) \ |
97 |
# define __declare_integer_limits_member(_Int, __imin, __imax, __idigits, __ismod, __type, __mem) \ |
98 |
__DECLARE_INSTANCE(const __type, __HACK_ILIMITS(_Int, __imin, __imax, __idigits):: __mem,__HACK_NOTHING) |
98 |
__DECLARE_INSTANCE(const __type, __HACK_ILIMITS(_Int, __imin, __imax, __idigits, __ismod):: __mem,__HACK_NOTHING) |
99 |
|
99 |
|
100 |
# define __declare_int_members(_Int, __imin, __imax, __idigits) \ |
100 |
# define __declare_int_members(_Int, __imin, __imax, __idigits, __ismod) \ |
101 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_specialized);\ |
101 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, __ismod, bool, is_specialized);\ |
102 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, int, digits);\ |
102 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, __ismod, int, digits);\ |
103 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, int, digits10);\ |
103 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, __ismod, int, digits10);\ |
104 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_signed);\ |
104 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, __ismod, bool, is_signed);\ |
105 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_integer);\ |
105 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, __ismod, bool, is_integer);\ |
106 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_exact);\ |
106 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, __ismod, bool, is_exact);\ |
107 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, int, radix);\ |
107 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, __ismod, int, radix);\ |
108 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_bounded);\ |
108 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, __ismod, bool, is_bounded);\ |
109 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_modulo); |
109 |
__declare_integer_limits_member(_Int, __imin, __imax, __idigits, __ismod, bool, is_modulo); |
110 |
|
110 |
|
111 |
|
111 |
|
112 |
# else |
112 |
# else |
Lines 197-221
Link Here
|
197 |
|
197 |
|
198 |
# ifdef __STL_NO_STATIC_TEMPLATE_DATA |
198 |
# ifdef __STL_NO_STATIC_TEMPLATE_DATA |
199 |
# ifndef __STL_NO_BOOL |
199 |
# ifndef __STL_NO_BOOL |
200 |
__declare_int_members(bool, false, true, 0) |
200 |
__declare_int_members(bool, false, true, 0, false) |
201 |
# endif |
201 |
# endif |
202 |
__declare_int_members(char, CHAR_MIN, CHAR_MAX, -1) |
202 |
__declare_int_members(char, CHAR_MIN, CHAR_MAX, -1, true) |
203 |
# ifndef __STL_NO_SIGNED_BUILTINS |
203 |
# ifndef __STL_NO_SIGNED_BUILTINS |
204 |
__declare_int_members(signed char, SCHAR_MIN, SCHAR_MAX, -1) |
204 |
__declare_int_members(signed char, SCHAR_MIN, SCHAR_MAX, -1, true) |
205 |
# endif |
205 |
# endif |
206 |
__declare_int_members(unsigned char, 0, UCHAR_MAX, -1) |
206 |
__declare_int_members(unsigned char, 0, UCHAR_MAX, -1, true) |
207 |
# if defined (__STL_HAS_WCHAR_T) && !defined ( __STL_WCHAR_T_IS_USHORT) |
207 |
# if defined (__STL_HAS_WCHAR_T) && !defined ( __STL_WCHAR_T_IS_USHORT) |
208 |
__declare_int_members(wchar_t, INT_MIN, INT_MAX, -1) |
208 |
__declare_int_members(wchar_t, INT_MIN, INT_MAX, -1, true) |
209 |
# endif |
209 |
# endif |
210 |
__declare_int_members(short, SHRT_MIN, SHRT_MAX, -1) |
210 |
__declare_int_members(short, SHRT_MIN, SHRT_MAX, -1, true) |
211 |
__declare_int_members(unsigned short, 0, USHRT_MAX, -1) |
211 |
__declare_int_members(unsigned short, 0, USHRT_MAX, -1, true) |
212 |
__declare_int_members(int, INT_MIN, INT_MAX, -1) |
212 |
__declare_int_members(int, INT_MIN, INT_MAX, -1, true) |
213 |
__declare_int_members(unsigned int, 0, UINT_MAX, -1) |
213 |
__declare_int_members(unsigned int, 0, UINT_MAX, -1, true) |
214 |
__declare_int_members(long, LONG_MIN, LONG_MAX, -1) |
214 |
__declare_int_members(long, LONG_MIN, LONG_MAX, -1, true) |
215 |
__declare_int_members(unsigned long, 0, ULONG_MAX, -1) |
215 |
__declare_int_members(unsigned long, 0, ULONG_MAX, -1, true) |
216 |
# ifdef __STL_LONG_LONG |
216 |
# ifdef __STL_LONG_LONG |
217 |
__declare_int_members(long long, LONGLONG_MIN, LONG_MAX, -1) |
217 |
__declare_int_members(long long, LONGLONG_MIN, LONG_MAX, -1, true) |
218 |
__declare_int_members(unsigned long long, 0, ULONGLONG_MAX, -1) |
218 |
__declare_int_members(unsigned long long, 0, ULONGLONG_MAX, -1, true) |
219 |
# endif |
219 |
# endif |
220 |
__declare_float_members(float, FLT_MANT_DIG,FLT_DIG, |
220 |
__declare_float_members(float, FLT_MANT_DIG,FLT_DIG, |
221 |
FLT_MIN_EXP, |
221 |
FLT_MIN_EXP, |
Lines 318-343
Link Here
|
318 |
|
318 |
|
319 |
#else |
319 |
#else |
320 |
|
320 |
|
321 |
__DECLARE_INSTANCE(_F_rep, |
|
|
322 |
_LimG<bool>::_F_inf, __STL_ARRAY_STATIC_INIT(__STL_FLOAT_INF_REP)); |
323 |
__DECLARE_INSTANCE(_F_rep, |
324 |
_LimG<bool>::_F_qNaN, __STL_ARRAY_STATIC_INIT(__STL_FLOAT_QNAN_REP)); |
325 |
__DECLARE_INSTANCE(_F_rep, |
326 |
_LimG<bool>::_F_sNaN, __STL_ARRAY_STATIC_INIT(__STL_FLOAT_SNAN_REP)); |
327 |
__DECLARE_INSTANCE(_D_rep, |
328 |
_LimG<bool>::_D_inf, __STL_ARRAY_STATIC_INIT(__STL_DOUBLE_INF_REP)); |
329 |
__DECLARE_INSTANCE(_D_rep, |
330 |
_LimG<bool>::_D_qNaN, __STL_ARRAY_STATIC_INIT(__STL_DOUBLE_QNAN_REP)); |
331 |
__DECLARE_INSTANCE(_D_rep, |
332 |
_LimG<bool>::_D_sNaN, __STL_ARRAY_STATIC_INIT(__STL_DOUBLE_SNAN_REP)); |
333 |
# ifndef __STL_NO_LONG_DOUBLE |
321 |
# ifndef __STL_NO_LONG_DOUBLE |
334 |
__DECLARE_INSTANCE(_L_rep, |
322 |
__DECLARE_INSTANCE(const _L_rep, _LimG<bool>::_L_inf, |
335 |
_LimG<bool>::_L_inf, __STL_ARRAY_STATIC_INIT(__STL_LDOUBLE_INF_REP)); |
323 |
__STL_ARRAY_STATIC_INIT({__STL_LDOUBLE_INF_REP})); |
336 |
__DECLARE_INSTANCE(_D_rep, |
324 |
__DECLARE_INSTANCE(const _L_rep, _LimG<bool>::_L_qNaN, |
337 |
_LimG<bool>::_L_qNaN, __STL_ARRAY_STATIC_INIT(__STL_LDOUBLE_QNAN_REP)); |
325 |
__STL_ARRAY_STATIC_INIT({__STL_LDOUBLE_QNAN_REP})); |
338 |
__DECLARE_INSTANCE(_L_rep, |
326 |
__DECLARE_INSTANCE(const _L_rep, _LimG<bool>::_L_sNaN, |
339 |
_LimG<bool>::_L_sNaN, __STL_ARRAY_STATIC_INIT(__STL_LDOUBLE_SNAN_REP)); |
327 |
__STL_ARRAY_STATIC_INIT({__STL_LDOUBLE_SNAN_REP})); |
340 |
# endif |
328 |
# endif |
|
|
329 |
__DECLARE_INSTANCE(const _D_rep, _LimG<bool>::_D_inf, |
330 |
__STL_ARRAY_STATIC_INIT({__STL_DOUBLE_INF_REP})); |
331 |
__DECLARE_INSTANCE(const _D_rep, _LimG<bool>::_D_qNaN, |
332 |
__STL_ARRAY_STATIC_INIT({__STL_DOUBLE_QNAN_REP})); |
333 |
__DECLARE_INSTANCE(const _D_rep, _LimG<bool>::_D_sNaN, |
334 |
__STL_ARRAY_STATIC_INIT({__STL_DOUBLE_SNAN_REP})); |
335 |
__DECLARE_INSTANCE(const _F_rep, _LimG<bool>::_F_inf, |
336 |
__STL_ARRAY_STATIC_INIT({__STL_FLOAT_INF_REP})); |
337 |
__DECLARE_INSTANCE(const _F_rep, _LimG<bool>::_F_qNaN, |
338 |
__STL_ARRAY_STATIC_INIT({__STL_FLOAT_QNAN_REP})); |
339 |
__DECLARE_INSTANCE(const _F_rep, _LimG<bool>::_F_sNaN, |
340 |
__STL_ARRAY_STATIC_INIT({__STL_FLOAT_SNAN_REP})); |
341 |
|
341 |
|
342 |
#endif /* STATIC_DATA */ |
342 |
#endif /* STATIC_DATA */ |
343 |
|
343 |
|