18 #ifndef _STLP_NUM_PUT_C 19 #define _STLP_NUM_PUT_C 21 #ifndef _STLP_INTERNAL_NUM_PUT_H 25 #ifndef _STLP_INTERNAL_LIMITS 40 template <
class _CharT,
class _OutputIter>
46 _CharT __xplus, _CharT __xminus) {
47 if (__width <=
__last - __first)
58 (*__first == __xplus || *__first == __xminus)) {
70 #if !defined (_STLP_NO_WCHAR_T) 72 template <
class _OutputIter>
76 wchar_t __decimal_point,
wchar_t __sep,
77 size_t __group_pos,
const string& __grouping) {
83 if (!__grouping.
empty()) {
94 template <
class _OutputIter>
98 char __decimal_point,
char __sep,
99 size_t __group_pos,
const string& __grouping) {
100 if ((__group_pos < __str.
size()) && (__str[__group_pos] ==
'.')) {
101 __str[__group_pos] = __decimal_point;
104 if (!__grouping.
empty()) {
106 __grouping, __sep,
'+',
'-', 0);
113 template <
class _CharT,
class _OutputIter,
class _Float>
116 _CharT
__fill, _Float __x) {
123 __np.decimal_point(), __np.thousands_sep(),
124 __group_pos, __np.grouping());
130 #if !defined (_STLP_NO_WCHAR_T) 140 template <
class _CharT>
146 template <
class _CharT,
class _OutputIter>
151 _CharT __xplus, _CharT __xminus) {
168 (__buf[0] == __xplus || __buf[0] == __xminus)) {
188 #if !defined (_STLP_NO_WCHAR_T) 190 template <
class _OutputIter>
198 wchar_t __xplus = __ct.
widen(
'+');
199 wchar_t __xminus = __ct.
widen(
'-');
202 __ct.
widen(__buf, __iend, __wbuf);
204 wchar_t* __eend = __wbuf + __len;
207 const string& __grouping = __np.
grouping();
209 if (!__grouping.empty()) {
212 switch (__flags & ios_base::basefield) {
215 default: __basechars = 0;
221 __xplus, __xminus, __basechars);
230 template <
class _OutputIter>
238 const string& __grouping = __np.
grouping();
240 if (!__grouping.empty()) {
243 switch (__flags & ios_base::basefield) {
246 default: __basechars = 0;
255 __iend = __grpbuf + __len;
257 '+',
'-', __basechars);
263 #if defined (_STLP_LONG_LONG) 274 template <
class _Integer>
277 const bool __negative = __x < 0 ;
281 for (; __utemp != 0; __utemp /= 10)
282 *--__ptr = (
char)((
int)(__utemp % 10) +
'0');
291 template <
class _Integer>
294 for (; __x != 0; __x /= 10)
295 *--__ptr = (
char)((
int)(__x % 10) +
'0');
302 template <
class _Integer>
314 switch (__flags & ios_base::basefield) {
320 __temp &= 0xFFFFFFFF;
322 for (; __temp != 0; __temp >>=3)
323 *--__ptr = (
char)((((
unsigned)__temp)& 0x7) +
'0');
337 __temp &= 0xFFFFFFFF;
339 for (; __temp != 0; __temp >>=4)
340 *--__ptr = __table_ptr[((
unsigned)__temp & 0xF)];
343 *--__ptr = __table_ptr[16];
351 #if defined(__HP_aCC) && (__HP_aCC == 1) 352 bool _IsSigned = !((_Integer)-1 > 0);
370 template <
class _CharT,
class _OutputIter,
class _Integer>
377 char __buf[
sizeof(_Integer) * 3 + 2];
378 const ptrdiff_t __buf_size =
sizeof(__buf) /
sizeof(
char);
384 template <
class _CharT,
class _OutputIter>
414 template <
class _CharT,
class _OutputIterator>
417 #if !defined (_STLP_NO_BOOL) 418 template <
class _CharT,
class _OutputIter>
430 template <
class _CharT,
class _OutputIter>
436 template <
class _CharT,
class _OutputIter>
439 unsigned long __val)
const 442 template <
class _CharT,
class _OutputIter>
448 #if !defined (_STLP_NO_LONG_DOUBLE) 449 template <
class _CharT,
class _OutputIter>
452 long double __val)
const 456 #if defined (_STLP_LONG_LONG) 457 template <
class _CharT,
class _OutputIter>
463 template <
class _CharT,
class _OutputIter>
473 template <
class _CharT,
class _OutputIter>
476 const void*
__val)
const {
483 __f.
width((
sizeof(
void*) * 2) + 2);
489 __s++ = __c_type.widen(
'0' );
490 __s++ = __c_type.widen( __table_ptr[16] );
491 __f.
width((
sizeof(
void*) * 2));
493 __f.
width((
sizeof(
void*) * 2) + 2);
495 #if defined (_STLP_MSVC) 496 # pragma warning (push) 497 # pragma warning (disable : 4311) //pointer truncation from 'const void*' to 'unsigned long' 500 #ifdef _WIN64 // ReactOS, compilation with 64 bit gcc 503 #ifdef _STLP_LONG_LONG 504 (
sizeof(
void*) ==
sizeof(
unsigned long) ) ?
513 #if defined (_STLP_MSVC) 514 # pragma warning (pop) 516 __f.
flags(__save_flags);
unsigned long __umax_int_t
virtual _OutputIter do_put(_OutputIter __s, ios_base &__f, _CharT __fill, bool __val) const
streamsize precision() const
ios_base &_STLP_CALL showbase(ios_base &__s)
#define __STATIC_CAST(__x, __y)
ptrdiff_t _STLP_CALL __insert_grouping(char *first, char *last, const string &grouping, char separator, char Plus, char Minus, int basechars)
_STLP_MOVE_TO_PRIV_NAMESPACE _STLP_INLINE_LOOP _OutputIter __fill_n(_OutputIter __first, _Size __n, const _Tp &__val)
void _STLP_CALL __get_floor_digits(__iostring &out, _STLP_LONGEST_FLOAT_TYPE __x)
const _CharT * data() const
void _STLP_CALL __convert_float_buffer(__iostring const &str, __iowstring &out, const ctype< wchar_t > &ct, wchar_t dot, bool __check_dot)
wchar_t thousands_sep() const
static const char hex[16]
#define _STLP_LONGEST_FLOAT_TYPE
void _STLP_CALL __get_money_digits(_STLP_BASIC_IOSTRING(_CharT) &__buf, ios_base &__f, _STLP_LONGEST_FLOAT_TYPE __x)
#define _STLP_MOVE_TO_PRIV_NAMESPACE
_OutputIter _STLP_CALL __do_put_bool(_OutputIter __s, ios_base &__f, _CharT __fill, bool __x)
ios_base &_STLP_CALL boolalpha(ios_base &__s)
_OutputIter _STLP_CALL __copy_integer_and_fill(const _CharT *__buf, ptrdiff_t __len, _OutputIter __oi, ios_base::fmtflags __flg, streamsize __wid, _CharT __fill, _CharT __xplus, _CharT __xminus)
_STLP_INLINE_LOOP _InputIter __last
#define _STLP_BASIC_IOSTRING(_CharT)
#define _STLP_MOVE_TO_STD_NAMESPACE
_STLP_STATIC_ASSERT(sizeof(nl_catd_type)<=sizeof(int)) class _STLP_CLASS_DECLSPEC _Catalog_nl_catd_map
_OutputIter _STLP_CALL __do_put_integer(_OutputIter __s, ios_base &__f, _CharT __fill, _Integer __x)
ios_base &_STLP_CALL uppercase(ios_base &__s)
_STLP_INLINE_LOOP _InputIter const _Tp & __val
char *_STLP_CALL __write_integer_backward(char *__buf, ios_base::fmtflags __flags, _Integer __x)
_STLP_DECLSPEC const char *_STLP_CALL __hex_char_table_hi()
_OutputIter _STLP_CALL __put_integer(char *__buf, char *__iend, _OutputIter __s, ios_base &__f, ios_base::fmtflags __flags, wchar_t __fill)
char thousands_sep() const
#define __REINTERPRET_CAST(__x, __y)
_STLP_DECLSPEC const char *_STLP_CALL __hex_char_table_lo()
ios_base &_STLP_CALL showpos(ios_base &__s)
void __get_money_digits_aux(__iostring &__buf, ios_base &, _STLP_LONGEST_FLOAT_TYPE __x)
#define _STLP_END_NAMESPACE
INT copy(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], INT append, DWORD lpdwFlags, BOOL bTouch)
wchar_t widen(char __c) const
ios_base &_STLP_CALL oct(ios_base &__s)
__kernel_ptrdiff_t ptrdiff_t
ios_base &_STLP_CALL internal(ios_base &__s)
_OutputIter _STLP_CALL __put_float(__iostring &__str, _OutputIter __oi, ios_base &__f, wchar_t __fill, wchar_t __decimal_point, wchar_t __sep, size_t __group_pos, const string &__grouping)
void __fill(_ForwardIter __first, _ForwardIter __last, const _Tp &__val, const input_iterator_tag &, _Distance *)
fmtflags setf(fmtflags __flag)
#define _STLP_BEGIN_NAMESPACE
size_t _STLP_CALL __write_float(__iostring &buf, ios_base::fmtflags flags, int precision, double x)
_OutputIter _STLP_CALL __do_put_float(_OutputIter __s, ios_base &__f, _CharT __fill, _Float __x)
char *_STLP_CALL __write_decimal_backward(char *__ptr, _Integer __x, ios_base::fmtflags __flags, const __true_type &)
_STLP_BEGIN_NAMESPACE _STLP_MOVE_TO_PRIV_NAMESPACE _OutputIter _STLP_CALL __copy_float_and_fill(const _CharT *__first, const _CharT *__last, _OutputIter __oi, ios_base::fmtflags __flags, streamsize __width, _CharT __fill, _CharT __xplus, _CharT __xminus)
static unsigned(__cdecl *hash_bstr)(bstr_t s)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *