Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
2 * © Portions copyright (c) 2006-2007 Nokia Corporation. All rights reserved.
5 * Silicon Graphics Computer Systems, Inc.
10 * This material is provided "as is", with absolutely no warranty expressed
11 * or implied. Any use is at your own risk.
13 * Permission to use or copy this software for any purpose is hereby granted
14 * without fee, provided the above notices are retained on all copies.
15 * Permission to modify the code and to distribute modified code is granted,
16 * provided the above notices are retained, and a notice that the code was
17 * modified is included with the above copyright notice.
20 // WARNING: This is an internal header file, included by other C++
21 // standard library headers. You should not attempt to use this header
25 #ifndef _STLP_INTERNAL_NUM_PUT_H
26 #define _STLP_INTERNAL_NUM_PUT_H
28 #ifndef _STLP_INTERNAL_NUMPUNCT_H
29 # include <stl/_numpunct.h>
31 #ifndef _STLP_INTERNAL_CTYPE_H
32 # include <stl/_ctype.h>
34 #ifndef _STLP_INTERNAL_OSTREAMBUF_ITERATOR_H
35 # include <stl/_ostreambuf_iterator.h>
40 //----------------------------------------------------------------------
43 # ifdef _STLP_LIMITED_DEFAULT_TEMPLATES
44 template <class _CharT, class _OutputIter>
46 template <class _CharT, class _OutputIter = ostreambuf_iterator<_CharT, char_traits<_CharT> > >
48 class num_put: public locale::facet
52 typedef _CharT char_type;
53 typedef _OutputIter iter_type;
55 explicit num_put(size_t __refs = 0) : _BaseFacet(__refs) {}
57 # ifndef _STLP_NO_BOOL
58 iter_type put(iter_type __s, ios_base& __f, char_type __fill,
60 return do_put(__s, __f, __fill, __val);
63 iter_type put(iter_type __s, ios_base& __f, char_type __fill,
65 return do_put(__s, __f, __fill, __val);
68 iter_type put(iter_type __s, ios_base& __f, char_type __fill,
69 unsigned long __val) const {
70 return do_put(__s, __f, __fill, __val);
73 #ifdef _STLP_LONG_LONG
74 iter_type put(iter_type __s, ios_base& __f, char_type __fill,
75 _STLP_LONG_LONG __val) const {
76 return do_put(__s, __f, __fill, __val);
79 iter_type put(iter_type __s, ios_base& __f, char_type __fill,
80 unsigned _STLP_LONG_LONG __val) const {
81 return do_put(__s, __f, __fill, __val);
85 iter_type put(iter_type __s, ios_base& __f, char_type __fill,
87 return do_put(__s, __f, __fill, (double)__val);
90 #ifndef _STLP_NO_LONG_DOUBLE
91 iter_type put(iter_type __s, ios_base& __f, char_type __fill,
92 long double __val) const {
93 return do_put(__s, __f, __fill, __val);
97 iter_type put(iter_type __s, ios_base& __f, char_type __fill,
98 const void * __val) const {
99 return do_put(__s, __f, __fill, __val);
102 #if defined(__LIBSTD_CPP_SYMBIAN32_WSD__) || defined(_STLP_LIBSTD_CPP_NO_STATIC_VAR_)
103 _STLP_STATIC_MEMBER_DECLSPEC static locale::id& GetFacetLocaleId();
104 _STLP_STATIC_MEMBER_DECLSPEC static locale::id&
105 GetFacetLocaleId(ostreambuf_iterator<char, char_traits<char> > *);
106 _STLP_STATIC_MEMBER_DECLSPEC static locale::id& GetFacetLocaleId(char**);
108 _STLP_STATIC_MEMBER_DECLSPEC static locale::id&
109 GetFacetLocaleId(ostreambuf_iterator<wchar_t, char_traits<wchar_t> > *);
110 _STLP_STATIC_MEMBER_DECLSPEC static locale::id& GetFacetLocaleId(wchar_t**);
111 //adding for new iterator type
112 _STLP_STATIC_MEMBER_DECLSPEC static locale::id&
113 GetFacetLocaleId(back_insert_iterator<string> *);
115 _STLP_STATIC_MEMBER_DECLSPEC static locale::id id;
120 # ifndef _STLP_NO_BOOL
121 virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, bool __val) const;
123 virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, long __val) const;
124 virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, unsigned long __val) const;
125 virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, double __val) const;
126 #ifndef _STLP_NO_LONG_DOUBLE
127 virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, long double __val) const;
130 #ifdef _STLP_LONG_LONG
131 virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, _STLP_LONG_LONG __val) const;
132 virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill,
133 unsigned _STLP_LONG_LONG __val) const ;
134 #endif /* _STLP_LONG_LONG */
135 virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, const void* __val) const;
138 # ifdef _STLP_USE_TEMPLATE_EXPORT
139 _STLP_EXPORT_TEMPLATE_CLASS num_put<char, ostreambuf_iterator<char, char_traits<char> > >;
140 // _STLP_EXPORT_TEMPLATE_CLASS num_put<char, char*>;
141 # ifndef _STLP_NO_WCHAR_T
142 _STLP_EXPORT_TEMPLATE_CLASS num_put<wchar_t, ostreambuf_iterator<wchar_t, char_traits<wchar_t> > >;
143 // _STLP_EXPORT_TEMPLATE_CLASS num_put<wchar_t, wchar_t*>;
144 # endif /* _STLP_NO_WCHAR_T */
147 # if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION)
149 template <class _Integer>
151 __write_integer_backward(char* __buf, ios_base::fmtflags __flags, _Integer __x);
153 extern _STLP_DECLSPEC int _STLP_CALL __string_to_float(const string&, float&);
154 extern _STLP_DECLSPEC int _STLP_CALL __string_to_float(const string&, double&);
155 extern _STLP_DECLSPEC void _STLP_CALL __write_float(string&, ios_base::fmtflags, int, double);
156 # ifndef _STLP_NO_LONG_DOUBLE
157 int _STLP_CALL __string_to_float(const string&, long double&);
158 extern _STLP_DECLSPEC void _STLP_CALL __write_float(string&, ios_base::fmtflags, int, long double);
161 #ifndef _STLP_NO_WCHAR_T
162 extern _STLP_DECLSPEC wchar_t* _STLP_CALL __convert_float_buffer(const char*, const char*, wchar_t*, const ctype<wchar_t>&, wchar_t);
164 extern _STLP_DECLSPEC void _STLP_CALL __adjust_float_buffer(char*, char*, char);
166 extern _STLP_DECLSPEC char* _STLP_CALL
167 __write_integer(char* buf, ios_base::fmtflags flags, long x);
169 extern _STLP_DECLSPEC ptrdiff_t _STLP_CALL __insert_grouping(char* first, char* last, const string&, char, char, char, int);
170 # ifndef _STLP_NO_WCHAR_T
171 extern _STLP_DECLSPEC ptrdiff_t _STLP_CALL __insert_grouping(wchar_t*, wchar_t*, const string&, wchar_t, wchar_t, wchar_t, int);
176 # if defined (__BORLANDC__) && defined (_RTLDLL)
177 inline void _Stl_loc_init_num_put() {
179 num_put<char, ostreambuf_iterator<char, char_traits<char> > >::id._M_index = 14;
180 num_put<char, char*>::id._M_index = 15;
182 # ifndef _STLP_NO_WCHAR_T
183 num_put<wchar_t, ostreambuf_iterator<wchar_t, char_traits<wchar_t> > > ::id._M_index = 33;
184 num_put<wchar_t, wchar_t*>::id._M_index = 34;
193 # if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && ! defined (_STLP_LINK_TIME_INSTANTIATION)
194 # include <stl/_num_put.c>
197 #endif /* _STLP_INTERNAL_NUMERIC_FACETS_H */