Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
_ioinsert.h
Go to the documentation of this file.
1// -*- C++ -*-
2
34#ifndef _RWSTD_RW_IOINSERT_H_INCLUDED
35#define _RWSTD_RW_IOINSERT_H_INCLUDED
36
37#if __GNUG__ >= 3
38# pragma GCC system_header
39#endif // gcc >= 3
40
41#ifndef _RWSTD_NO_REDUNDANT_DEFINITIONS
42# ifndef _RWSTD_RW_IOITER_H_INCLUDED
43# include <rw/_ioiter.h>
44# endif // _RWSTD_RW_IOITER_H_INCLUDED
45
46# include <streambuf>
47#endif // _RWSTD_NO_REDUNDANT_DEFINITIONS
48
49#include <loc/_num_get.h>
50#include <loc/_num_put.h>
51
52#ifndef _RWSTD_RW_BASIC_IOS_H_INCLUDED
53# include <rw/_basic_ios.h>
54#endif // _RWSTD_RW_BASIC_IOS_H_INCLUDED
55
56
58
59
60#ifndef _RWSTD_IOSFWD_INCLUDED
61
63template <class _CharT, class _Traits = char_traits<_CharT> >
64class basic_ostream;
65
66typedef basic_ostream<char> ostream;
67
68# ifndef _RWSTD_NO_WCHAR_T
69
70typedef basic_ostream<wchar_t> wostream;
71
72# endif // _RWSTD_NO_WCHAR_T
73#endif // _RWSTD_IOSFWD_INCLUDED
74
75}
76
77
79
80// helper - implements insertion of arithmetic and pointer types
82template <class _CharT, class _Traits, class _NativeType>
83_STD::basic_ostream<_CharT, _Traits>&
84__rw_insert (_STD::basic_ostream<_CharT, _Traits>&, _NativeType);
85
86
87// helper - implements insertion of character strigs
89template<class _CharT, class _Traits, class _StringT>
90_STD::basic_ostream<_CharT, _Traits>&
91__rw_insert (_STD::basic_ostream<_CharT, _Traits>&, const _StringT*,
93
94} // namespace __rw
95
96
97#if _RWSTD_DEFINE_TEMPLATE_FIRST (_INSERTER)
98# include <rw/_ioinsert.cc>
99#endif // _RWSTD_DEFINE_TEMPLATE_FIRST (_INSERTER)
100
101
102#ifdef _RWSTD_MSVC
103# pragma warning (push)
104# pragma warning (disable: 4231)
105#endif // _RWSTD_MSVC
106
107
109
110
111#if _RWSTD_INSTANTIATE (_INSERT_INT, _CHAR)
112
113# ifndef _RWSTD_NO_NATIVE_BOOL
114
116 __rw_insert (_STD::ostream&, bool));
117
118# endif // _RWSTD_NO_NATIVE_BOOL
119
121 __rw_insert (_STD::ostream&, long));
122
124 __rw_insert (_STD::ostream&, unsigned long));
125
126# ifdef _RWSTD_LONG_LONG
127
129 __rw_insert (_STD::ostream&, _RWSTD_LONG_LONG));
130
132 __rw_insert (_STD::ostream&,
133 unsigned _RWSTD_LONG_LONG));
134
135# endif // _RWSTD_LONG_LONG
136
137#endif // _RWSTD_INSTANTIATE (_INSERT_INT, _CHAR)
138
139
140#if _RWSTD_INSTANTIATE (_INSERT_DBL, _CHAR)
141
143 __rw_insert (_STD::ostream&, double));
144
145# ifndef _RWSTD_NO_LONG_DOUBLE
146
148 __rw_insert (_STD::ostream&, long double));
149
150# endif // _RWSTD_NO_LONG_DOUBLE
151
152#endif // _RWSTD_INSTANTIATE (_INSERT_DBL, _CHAR)
153
154
155#if _RWSTD_INSTANTIATE (_INSERT_PTR, _CHAR)
156
158 __rw_insert (_STD::ostream&, const void*));
159
161 __rw_insert (_STD::ostream&, const char*,
163
164#endif // _RWSTD_INSTANTIATE (_INSERT_PTR, _CHAR)
165
166
167#if _RWSTD_INSTANTIATE (_INSERT_INT, _WCHAR_T)
168
169# ifndef _RWSTD_NO_NATIVE_BOOL
170
172 __rw_insert (_STD::wostream&, bool));
173
174# endif // _RWSTD_NO_NATIVE_BOOL
175
177 __rw_insert (_STD::wostream&, long));
178
180 __rw_insert (_STD::wostream&, unsigned long));
181
182# ifdef _RWSTD_LONG_LONG
183
185 __rw_insert (_STD::wostream&, _RWSTD_LONG_LONG));
186
188 __rw_insert (_STD::wostream&,
189 unsigned _RWSTD_LONG_LONG));
190
191# endif // _RWSTD_LONG_LONG
192
193#endif // _RWSTD_INSTANTIATE (_INSERT_INT, _WCHAR_T)
194
195#if _RWSTD_INSTANTIATE (_INSERT_DBL, _WCHAR_T)
196
198 __rw_insert (_STD::wostream&, double));
199
200# ifndef _RWSTD_NO_LONG_DOUBLE
201
203 __rw_insert (_STD::wostream&, long double));
204
205# endif // _RWSTD_NO_LONG_DOUBLE
206
207#endif // _RWSTD_INSTANTIATE (_INSERT_DBL, _WCHAR_T)
208
209#if _RWSTD_INSTANTIATE (_INSERT_PTR, _WCHAR_T)
210
212 __rw_insert (_STD::wostream&, const void*));
213
215 __rw_insert (_STD::wostream&, const char*,
217
219 __rw_insert (_STD::wostream&, const wchar_t*,
221
222#endif // _RWSTD_INSTANTIATE (_INSERT_PTR, _WCHAR_T)
223
224} // namespace __rw
225
226
227#ifdef _RWSTD_MSVC
228# pragma warning (pop)
229#endif // _RWSTD_MSVC
230
231
232#if _RWSTD_DEFINE_TEMPLATE_LAST (_INSERTER)
233# include <rw/_ioinsert.cc>
234#endif // _RWSTD_DEFINE_TEMPLATE_LAST (_INSERTER)
235
236
237#endif // _RWSTD_RW_IOINSERT_H_INCLUDED
#define _RWSTD_LONG_LONG
#define _RWSTD_EXPORT
Definition _defs.h:485
#define _RWSTD_NAMESPACE(name)
Definition _defs.h:567
#define _RWSTD_STREAMSIZE
Definition _defs.h:762
#define _EXPORT
Definition _defs.h:498
#define _RWSTD_INSTANTIATE_FUN_1(arg)
Definition _defs.h:1410
#define _RWSTD_TI_EXPORT
Definition _defs.h:1331
Definition json.h:5363