32#ifndef _RWSTD_LOC_NUM_PUT_H_INCLUDED
33#define _RWSTD_LOC_NUM_PUT_H_INCLUDED
37# pragma GCC system_header
53template <
class _CharT,
class _OutputIter = ostreambuf_iterator<_CharT> >
54struct num_put: _RW::__rw_facet
56 typedef _CharT char_type;
57 typedef _OutputIter iter_type;
59 explicit num_put (_RWSTD_SIZE_T __refs = 0)
60 : _RW::__rw_facet (__refs) { }
66 iter_type put (iter_type __it, ios_base& __flags, char_type __fill,
68 return do_put (__it, __flags, __fill, __val);
73 iter_type put (iter_type __it, ios_base &__flags, char_type __fill,
75 return do_put (__it, __flags, __fill, __val);
78 iter_type put (iter_type __it, ios_base &__flags, char_type __fill,
79 unsigned long __val)
const {
80 return do_put (__it, __flags, __fill, __val);
83 iter_type put (iter_type __it, ios_base &__flags, char_type __fill,
85 return do_put (__it, __flags, __fill, __val);
88#ifndef _RWSTD_NO_LONG_DOUBLE
90 iter_type put (iter_type __it, ios_base &__flags, char_type __fill,
91 long double __val)
const {
92 return do_put (__it, __flags, __fill, __val);
97 iter_type put (iter_type __it, ios_base &__flags, char_type __fill,
98 const void* __val)
const {
99 return do_put (__it, __flags, __fill, __val);
104 _RWSTD_REINTERPRET_CAST (const void*, _RWSTD_STATIC_CAST (_RWSTD_SIZE_T, x))
106#ifdef _RWSTD_LONG_LONG
109 iter_type put (iter_type __it, ios_base &__flags, char_type __fill,
111 return do_put (__it, __flags, __fill, __val);
114 iter_type put (iter_type __it, ios_base &__flags, char_type __fill,
116 return do_put (__it, __flags, __fill, __val);
121 static _RW::__rw_facet_id id;
125#ifndef _RWSTD_NO_BOOL
128 do_put (iter_type __it, ios_base &__flags, char_type __fill,
130 return _C_put (__it, __flags, __fill,
132 ? _C_bool : _C_int,
_TO_VOID (__val));
138 do_put (iter_type __it, ios_base &__flags, char_type __fill,
140 return _C_put (__it, __flags, __fill, _C_long,
_TO_VOID (__val));
144 do_put (iter_type __it, ios_base &__flags, char_type __fill,
145 unsigned long __val)
const {
146 return _C_put (__it, __flags, __fill, _C_ulong,
_TO_VOID (__val));
150 do_put (iter_type __it, ios_base &__flags, char_type __fill,
151 double __val)
const {
152 return _C_put (__it, __flags, __fill, _C_double | _C_ptr, &__val);
155#ifndef _RWSTD_NO_LONG_DOUBLE
158 do_put (iter_type __it, ios_base &__flags, char_type __fill,
159 long double __val)
const {
160 return _C_put (__it, __flags, __fill, _C_ldouble | _C_ptr, &__val);
166 do_put (iter_type __it, ios_base &__flags, char_type __fill,
167 const void *__val)
const {
168 return _C_put (__it, __flags, __fill, _C_pvoid, __val);
171#ifdef _RWSTD_LONG_LONG
175 do_put (iter_type __it, ios_base &__flags, char_type __fill,
177 return _C_put (__it, __flags, __fill, _C_llong, &__val);
181 do_put (iter_type __it, ios_base &__flags, char_type __fill,
183 return _C_put (__it, __flags, __fill, _C_ullong, &__val);
192 iter_type _C_put (iter_type, ios_base&, char_type,
int,
const void*)
const;
196#ifndef _RWSTD_NO_SPECIALIZED_FACET_ID
199_RW::__rw_facet_id num_put<char, ostreambuf_iterator<char> >::id;
201# ifndef _RWSTD_NO_WCHAR_T
204_RW::__rw_facet_id num_put<wchar_t, ostreambuf_iterator<wchar_t> >::id;
212#if _RWSTD_DEFINE_TEMPLATE_FIRST (_NUM_PUT)
218# pragma warning (push)
219# pragma warning (disable: 4231)
225#if _RWSTD_INSTANTIATE (_NUM_PUT, _CHAR)
231#if _RWSTD_INSTANTIATE (_NUM_PUT, _WCHAR_T)
241# pragma warning (pop)
245#if _RWSTD_DEFINE_TEMPLATE_LAST (_NUM_PUT)
#define _RWSTD_SPECIALIZED_CLASS
#define _RWSTD_IOS_BOOLALPHA
#define _RWSTD_INSTANTIATE_1(arg)
#define _RWSTD_NAMESPACE(name)