xref: /dflybsd-src/contrib/gcc-8.0/libstdc++-v3/src/c++11/locale-inst.cc (revision 38fd149817dfbff97799f62fcb70be98c4e32523)
1*38fd1498Szrj // Locale support -*- C++ -*-
2*38fd1498Szrj 
3*38fd1498Szrj // Copyright (C) 1999-2018 Free Software Foundation, Inc.
4*38fd1498Szrj //
5*38fd1498Szrj // This file is part of the GNU ISO C++ Library.  This library is free
6*38fd1498Szrj // software; you can redistribute it and/or modify it under the
7*38fd1498Szrj // terms of the GNU General Public License as published by the
8*38fd1498Szrj // Free Software Foundation; either version 3, or (at your option)
9*38fd1498Szrj // any later version.
10*38fd1498Szrj 
11*38fd1498Szrj // This library is distributed in the hope that it will be useful,
12*38fd1498Szrj // but WITHOUT ANY WARRANTY; without even the implied warranty of
13*38fd1498Szrj // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14*38fd1498Szrj // GNU General Public License for more details.
15*38fd1498Szrj 
16*38fd1498Szrj // Under Section 7 of GPL version 3, you are granted additional
17*38fd1498Szrj // permissions described in the GCC Runtime Library Exception, version
18*38fd1498Szrj // 3.1, as published by the Free Software Foundation.
19*38fd1498Szrj 
20*38fd1498Szrj // You should have received a copy of the GNU General Public License and
21*38fd1498Szrj // a copy of the GCC Runtime Library Exception along with this program;
22*38fd1498Szrj // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
23*38fd1498Szrj // <http://www.gnu.org/licenses/>.
24*38fd1498Szrj 
25*38fd1498Szrj //
26*38fd1498Szrj // ISO C++ 14882: 22.1  Locales
27*38fd1498Szrj //
28*38fd1498Szrj 
29*38fd1498Szrj #ifndef _GLIBCXX_USE_CXX11_ABI
30*38fd1498Szrj // Instantiations in this file use the old COW std::string ABI unless included
31*38fd1498Szrj // by another file which defines _GLIBCXX_USE_CXX11_ABI=1. Some instantiations
32*38fd1498Szrj // are guarded by a check for !_GLIBCXX_USE_CXX11_ABI so that they are only
33*38fd1498Szrj // instantiated once, because they are not tagged with abi_tag so should not
34*38fd1498Szrj // be instantiated twice.
35*38fd1498Szrj # define _GLIBCXX_USE_CXX11_ABI 0
36*38fd1498Szrj #endif
37*38fd1498Szrj 
38*38fd1498Szrj #include <locale>
39*38fd1498Szrj 
40*38fd1498Szrj // Instantiation configuration.
41*38fd1498Szrj #ifndef C
42*38fd1498Szrj # define C char
43*38fd1498Szrj # define C_is_char
44*38fd1498Szrj #endif
45*38fd1498Szrj 
46*38fd1498Szrj namespace std _GLIBCXX_VISIBILITY(default)
47*38fd1498Szrj {
48*38fd1498Szrj _GLIBCXX_BEGIN_NAMESPACE_VERSION
49*38fd1498Szrj 
50*38fd1498Szrj   // moneypunct, money_get, and money_put
51*38fd1498Szrj #if ! _GLIBCXX_USE_CXX11_ABI
52*38fd1498Szrj   template struct __moneypunct_cache<C, false>;
53*38fd1498Szrj   template struct __moneypunct_cache<C, true>;
54*38fd1498Szrj #endif
55*38fd1498Szrj _GLIBCXX_BEGIN_NAMESPACE_CXX11
56*38fd1498Szrj   template class moneypunct<C, false>;
57*38fd1498Szrj   template class moneypunct<C, true>;
58*38fd1498Szrj   template class moneypunct_byname<C, false>;
59*38fd1498Szrj   template class moneypunct_byname<C, true>;
60*38fd1498Szrj _GLIBCXX_END_NAMESPACE_CXX11
61*38fd1498Szrj _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11
62*38fd1498Szrj   template class money_get<C, istreambuf_iterator<C> >;
63*38fd1498Szrj   template class money_put<C, ostreambuf_iterator<C> >;
64*38fd1498Szrj   template
65*38fd1498Szrj     istreambuf_iterator<C>
66*38fd1498Szrj     money_get<C, istreambuf_iterator<C> >::
67*38fd1498Szrj     _M_extract<true>(istreambuf_iterator<C>, istreambuf_iterator<C>,
68*38fd1498Szrj 		     ios_base&, ios_base::iostate&, string&) const;
69*38fd1498Szrj 
70*38fd1498Szrj   template
71*38fd1498Szrj     istreambuf_iterator<C>
72*38fd1498Szrj     money_get<C, istreambuf_iterator<C> >::
73*38fd1498Szrj     _M_extract<false>(istreambuf_iterator<C>, istreambuf_iterator<C>,
74*38fd1498Szrj 		      ios_base&, ios_base::iostate&, string&) const;
75*38fd1498Szrj 
76*38fd1498Szrj   template
77*38fd1498Szrj     ostreambuf_iterator<C>
78*38fd1498Szrj     money_put<C, ostreambuf_iterator<C> >::
79*38fd1498Szrj     _M_insert<true>(ostreambuf_iterator<C>, ios_base&, C,
80*38fd1498Szrj 		    const string_type&) const;
81*38fd1498Szrj 
82*38fd1498Szrj   template
83*38fd1498Szrj     ostreambuf_iterator<C>
84*38fd1498Szrj     money_put<C, ostreambuf_iterator<C> >::
85*38fd1498Szrj     _M_insert<false>(ostreambuf_iterator<C>, ios_base&, C,
86*38fd1498Szrj 		     const string_type&) const;
87*38fd1498Szrj _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11
88*38fd1498Szrj 
89*38fd1498Szrj   // numpunct, numpunct_byname, num_get, and num_put
90*38fd1498Szrj #if ! _GLIBCXX_USE_CXX11_ABI
91*38fd1498Szrj   template struct __numpunct_cache<C>;
92*38fd1498Szrj #endif
93*38fd1498Szrj _GLIBCXX_BEGIN_NAMESPACE_CXX11
94*38fd1498Szrj   template class numpunct<C>;
95*38fd1498Szrj   template class numpunct_byname<C>;
96*38fd1498Szrj _GLIBCXX_END_NAMESPACE_CXX11
97*38fd1498Szrj _GLIBCXX_BEGIN_NAMESPACE_LDBL
98*38fd1498Szrj #if ! _GLIBCXX_USE_CXX11_ABI
99*38fd1498Szrj   template class num_get<C, istreambuf_iterator<C> >;
100*38fd1498Szrj #endif
101*38fd1498Szrj 
102*38fd1498Szrj   template
103*38fd1498Szrj     istreambuf_iterator<C>
104*38fd1498Szrj     num_get<C, istreambuf_iterator<C> >::
105*38fd1498Szrj     _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>,
106*38fd1498Szrj 		   ios_base&, ios_base::iostate&,
107*38fd1498Szrj 		   long&) const;
108*38fd1498Szrj 
109*38fd1498Szrj   template
110*38fd1498Szrj     istreambuf_iterator<C>
111*38fd1498Szrj     num_get<C, istreambuf_iterator<C> >::
112*38fd1498Szrj     _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>,
113*38fd1498Szrj 		   ios_base&, ios_base::iostate&,
114*38fd1498Szrj 		   unsigned short&) const;
115*38fd1498Szrj 
116*38fd1498Szrj   template
117*38fd1498Szrj     istreambuf_iterator<C>
118*38fd1498Szrj     num_get<C, istreambuf_iterator<C> >::
119*38fd1498Szrj     _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>,
120*38fd1498Szrj 		   ios_base&, ios_base::iostate&,
121*38fd1498Szrj 		   unsigned int&) const;
122*38fd1498Szrj 
123*38fd1498Szrj   template
124*38fd1498Szrj     istreambuf_iterator<C>
125*38fd1498Szrj     num_get<C, istreambuf_iterator<C> >::
126*38fd1498Szrj     _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>,
127*38fd1498Szrj 		   ios_base&, ios_base::iostate&,
128*38fd1498Szrj 		   unsigned long&) const;
129*38fd1498Szrj 
130*38fd1498Szrj #ifdef _GLIBCXX_USE_LONG_LONG
131*38fd1498Szrj   template
132*38fd1498Szrj     istreambuf_iterator<C>
133*38fd1498Szrj     num_get<C, istreambuf_iterator<C> >::
134*38fd1498Szrj     _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>,
135*38fd1498Szrj 		   ios_base&, ios_base::iostate&,
136*38fd1498Szrj 		   long long&) const;
137*38fd1498Szrj 
138*38fd1498Szrj   template
139*38fd1498Szrj     istreambuf_iterator<C>
140*38fd1498Szrj     num_get<C, istreambuf_iterator<C> >::
141*38fd1498Szrj     _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>,
142*38fd1498Szrj 		   ios_base&, ios_base::iostate&,
143*38fd1498Szrj 		   unsigned long long&) const;
144*38fd1498Szrj #endif
145*38fd1498Szrj 
146*38fd1498Szrj #if ! _GLIBCXX_USE_CXX11_ABI
147*38fd1498Szrj   template class num_put<C, ostreambuf_iterator<C> >;
148*38fd1498Szrj 
149*38fd1498Szrj   template
150*38fd1498Szrj     ostreambuf_iterator<C>
151*38fd1498Szrj     num_put<C, ostreambuf_iterator<C> >::
152*38fd1498Szrj     _M_insert_int(ostreambuf_iterator<C>, ios_base&, C,
153*38fd1498Szrj 		  long) const;
154*38fd1498Szrj 
155*38fd1498Szrj   template
156*38fd1498Szrj     ostreambuf_iterator<C>
157*38fd1498Szrj     num_put<C, ostreambuf_iterator<C> >::
158*38fd1498Szrj     _M_insert_int(ostreambuf_iterator<C>, ios_base&, C,
159*38fd1498Szrj 		  unsigned long) const;
160*38fd1498Szrj 
161*38fd1498Szrj #ifdef _GLIBCXX_USE_LONG_LONG
162*38fd1498Szrj   template
163*38fd1498Szrj     ostreambuf_iterator<C>
164*38fd1498Szrj     num_put<C, ostreambuf_iterator<C> >::
165*38fd1498Szrj     _M_insert_int(ostreambuf_iterator<C>, ios_base&, C,
166*38fd1498Szrj 		  long long) const;
167*38fd1498Szrj 
168*38fd1498Szrj   template
169*38fd1498Szrj     ostreambuf_iterator<C>
170*38fd1498Szrj     num_put<C, ostreambuf_iterator<C> >::
171*38fd1498Szrj     _M_insert_int(ostreambuf_iterator<C>, ios_base&, C,
172*38fd1498Szrj 		  unsigned long long) const;
173*38fd1498Szrj #endif
174*38fd1498Szrj 
175*38fd1498Szrj   template
176*38fd1498Szrj     ostreambuf_iterator<C>
177*38fd1498Szrj     num_put<C, ostreambuf_iterator<C> >::
178*38fd1498Szrj     _M_insert_float(ostreambuf_iterator<C>, ios_base&, C, char,
179*38fd1498Szrj 		    double) const;
180*38fd1498Szrj 
181*38fd1498Szrj   template
182*38fd1498Szrj     ostreambuf_iterator<C>
183*38fd1498Szrj     num_put<C, ostreambuf_iterator<C> >::
184*38fd1498Szrj     _M_insert_float(ostreambuf_iterator<C>, ios_base&, C, char,
185*38fd1498Szrj 		    long double) const;
186*38fd1498Szrj #endif
187*38fd1498Szrj _GLIBCXX_END_NAMESPACE_LDBL
188*38fd1498Szrj 
189*38fd1498Szrj   // time_get and time_put
190*38fd1498Szrj #if ! _GLIBCXX_USE_CXX11_ABI
191*38fd1498Szrj   template class __timepunct<C>;
192*38fd1498Szrj   template struct __timepunct_cache<C>;
193*38fd1498Szrj   template class time_put<C, ostreambuf_iterator<C> >;
194*38fd1498Szrj   template class time_put_byname<C, ostreambuf_iterator<C> >;
195*38fd1498Szrj #else
196*38fd1498Szrj   // Instantiate constructor taking __cxx11::string
197*38fd1498Szrj   template time_put_byname<C>::time_put_byname(const string&, size_t);
198*38fd1498Szrj #endif
199*38fd1498Szrj _GLIBCXX_BEGIN_NAMESPACE_CXX11
200*38fd1498Szrj   template class time_get<C, istreambuf_iterator<C> >;
201*38fd1498Szrj   template class time_get_byname<C, istreambuf_iterator<C> >;
202*38fd1498Szrj _GLIBCXX_END_NAMESPACE_CXX11
203*38fd1498Szrj 
204*38fd1498Szrj   // messages
205*38fd1498Szrj _GLIBCXX_BEGIN_NAMESPACE_CXX11
206*38fd1498Szrj   template class messages<C>;
207*38fd1498Szrj   template class messages_byname<C>;
208*38fd1498Szrj _GLIBCXX_END_NAMESPACE_CXX11
209*38fd1498Szrj 
210*38fd1498Szrj   // ctype
ctype_byname(const string & __s,size_t __refs)211*38fd1498Szrj   ctype_byname<C>::ctype_byname(const string& __s, size_t __refs)
212*38fd1498Szrj   : ctype_byname(__s.c_str(), __refs) { }
213*38fd1498Szrj 
214*38fd1498Szrj #if ! _GLIBCXX_USE_CXX11_ABI
215*38fd1498Szrj   inline template class __ctype_abstract_base<C>;
216*38fd1498Szrj   template class ctype_byname<C>;
217*38fd1498Szrj #endif
218*38fd1498Szrj 
219*38fd1498Szrj   // codecvt
220*38fd1498Szrj #if ! _GLIBCXX_USE_CXX11_ABI
221*38fd1498Szrj   inline template class __codecvt_abstract_base<C, char, mbstate_t>;
222*38fd1498Szrj   template class codecvt_byname<C, char, mbstate_t>;
223*38fd1498Szrj #else
224*38fd1498Szrj   // Instantiate constructor taking __cxx11::string
225*38fd1498Szrj   template codecvt_byname<C, char, mbstate_t>::codecvt_byname(const string&, size_t);
226*38fd1498Szrj #endif
227*38fd1498Szrj 
228*38fd1498Szrj   // collate
229*38fd1498Szrj _GLIBCXX_BEGIN_NAMESPACE_CXX11
230*38fd1498Szrj   template class collate<C>;
231*38fd1498Szrj   template class collate_byname<C>;
232*38fd1498Szrj _GLIBCXX_END_NAMESPACE_CXX11
233*38fd1498Szrj 
234*38fd1498Szrj   // use_facet
235*38fd1498Szrj #if ! _GLIBCXX_USE_CXX11_ABI
236*38fd1498Szrj   template
237*38fd1498Szrj     const ctype<C>&
238*38fd1498Szrj     use_facet<ctype<C> >(const locale&);
239*38fd1498Szrj 
240*38fd1498Szrj   template
241*38fd1498Szrj     const codecvt<C, char, mbstate_t>&
242*38fd1498Szrj     use_facet<codecvt<C, char, mbstate_t> >(const locale&);
243*38fd1498Szrj #endif
244*38fd1498Szrj 
245*38fd1498Szrj   template
246*38fd1498Szrj     const collate<C>&
247*38fd1498Szrj     use_facet<collate<C> >(const locale&);
248*38fd1498Szrj 
249*38fd1498Szrj   template
250*38fd1498Szrj     const numpunct<C>&
251*38fd1498Szrj     use_facet<numpunct<C> >(const locale&);
252*38fd1498Szrj 
253*38fd1498Szrj #if ! _GLIBCXX_USE_CXX11_ABI
254*38fd1498Szrj   template
255*38fd1498Szrj     const num_put<C>&
256*38fd1498Szrj     use_facet<num_put<C> >(const locale&);
257*38fd1498Szrj 
258*38fd1498Szrj   template
259*38fd1498Szrj     const num_get<C>&
260*38fd1498Szrj     use_facet<num_get<C> >(const locale&);
261*38fd1498Szrj #endif
262*38fd1498Szrj 
263*38fd1498Szrj   template
264*38fd1498Szrj     const moneypunct<C, true>&
265*38fd1498Szrj     use_facet<moneypunct<C, true> >(const locale&);
266*38fd1498Szrj 
267*38fd1498Szrj   template
268*38fd1498Szrj     const moneypunct<C, false>&
269*38fd1498Szrj     use_facet<moneypunct<C, false> >(const locale&);
270*38fd1498Szrj 
271*38fd1498Szrj   template
272*38fd1498Szrj     const money_put<C>&
273*38fd1498Szrj     use_facet<money_put<C> >(const locale&);
274*38fd1498Szrj 
275*38fd1498Szrj   template
276*38fd1498Szrj     const money_get<C>&
277*38fd1498Szrj     use_facet<money_get<C> >(const locale&);
278*38fd1498Szrj 
279*38fd1498Szrj #if ! _GLIBCXX_USE_CXX11_ABI
280*38fd1498Szrj   template
281*38fd1498Szrj     const __timepunct<C>&
282*38fd1498Szrj     use_facet<__timepunct<C> >(const locale&);
283*38fd1498Szrj 
284*38fd1498Szrj   template
285*38fd1498Szrj     const time_put<C>&
286*38fd1498Szrj     use_facet<time_put<C> >(const locale&);
287*38fd1498Szrj #endif
288*38fd1498Szrj 
289*38fd1498Szrj   template
290*38fd1498Szrj     const time_get<C>&
291*38fd1498Szrj     use_facet<time_get<C> >(const locale&);
292*38fd1498Szrj 
293*38fd1498Szrj   template
294*38fd1498Szrj     const messages<C>&
295*38fd1498Szrj     use_facet<messages<C> >(const locale&);
296*38fd1498Szrj 
297*38fd1498Szrj   // has_facet
298*38fd1498Szrj #if ! _GLIBCXX_USE_CXX11_ABI
299*38fd1498Szrj   template
300*38fd1498Szrj     bool
301*38fd1498Szrj     has_facet<ctype<C> >(const locale&);
302*38fd1498Szrj 
303*38fd1498Szrj   template
304*38fd1498Szrj     bool
305*38fd1498Szrj     has_facet<codecvt<C, char, mbstate_t> >(const locale&);
306*38fd1498Szrj #endif
307*38fd1498Szrj 
308*38fd1498Szrj   template
309*38fd1498Szrj     bool
310*38fd1498Szrj     has_facet<collate<C> >(const locale&);
311*38fd1498Szrj 
312*38fd1498Szrj   template
313*38fd1498Szrj     bool
314*38fd1498Szrj     has_facet<numpunct<C> >(const locale&);
315*38fd1498Szrj 
316*38fd1498Szrj #if ! _GLIBCXX_USE_CXX11_ABI
317*38fd1498Szrj   template
318*38fd1498Szrj     bool
319*38fd1498Szrj     has_facet<num_put<C> >(const locale&);
320*38fd1498Szrj 
321*38fd1498Szrj   template
322*38fd1498Szrj     bool
323*38fd1498Szrj     has_facet<num_get<C> >(const locale&);
324*38fd1498Szrj #endif
325*38fd1498Szrj 
326*38fd1498Szrj   template
327*38fd1498Szrj     bool
328*38fd1498Szrj     has_facet<moneypunct<C> >(const locale&);
329*38fd1498Szrj 
330*38fd1498Szrj   template
331*38fd1498Szrj     bool
332*38fd1498Szrj     has_facet<money_put<C> >(const locale&);
333*38fd1498Szrj 
334*38fd1498Szrj   template
335*38fd1498Szrj     bool
336*38fd1498Szrj     has_facet<money_get<C> >(const locale&);
337*38fd1498Szrj 
338*38fd1498Szrj #if ! _GLIBCXX_USE_CXX11_ABI
339*38fd1498Szrj   template
340*38fd1498Szrj     bool
341*38fd1498Szrj     has_facet<__timepunct<C> >(const locale&);
342*38fd1498Szrj 
343*38fd1498Szrj   template
344*38fd1498Szrj     bool
345*38fd1498Szrj     has_facet<time_put<C> >(const locale&);
346*38fd1498Szrj #endif
347*38fd1498Szrj 
348*38fd1498Szrj   template
349*38fd1498Szrj     bool
350*38fd1498Szrj     has_facet<time_get<C> >(const locale&);
351*38fd1498Szrj 
352*38fd1498Szrj   template
353*38fd1498Szrj     bool
354*38fd1498Szrj     has_facet<messages<C> >(const locale&);
355*38fd1498Szrj 
356*38fd1498Szrj 
357*38fd1498Szrj #if ! _GLIBCXX_USE_CXX11_ABI
358*38fd1498Szrj   // locale functions.
359*38fd1498Szrj   template
360*38fd1498Szrj     C*
361*38fd1498Szrj     __add_grouping<C>(C*, C, char const*, size_t,
362*38fd1498Szrj 			 C const*, C const*);
363*38fd1498Szrj 
364*38fd1498Szrj   template class __pad<C, char_traits<C> >;
365*38fd1498Szrj 
366*38fd1498Szrj   template
367*38fd1498Szrj     int
368*38fd1498Szrj     __int_to_char(C*, unsigned long, const C*,
369*38fd1498Szrj 		  ios_base::fmtflags, bool);
370*38fd1498Szrj 
371*38fd1498Szrj #ifdef _GLIBCXX_USE_LONG_LONG
372*38fd1498Szrj   template
373*38fd1498Szrj     int
374*38fd1498Szrj     __int_to_char(C*, unsigned long long, const C*,
375*38fd1498Szrj 		  ios_base::fmtflags, bool);
376*38fd1498Szrj #endif
377*38fd1498Szrj #endif
378*38fd1498Szrj 
379*38fd1498Szrj _GLIBCXX_END_NAMESPACE_VERSION
380*38fd1498Szrj } // namespace
381*38fd1498Szrj 
382*38fd1498Szrj // XXX GLIBCXX_ABI Deprecated
383*38fd1498Szrj #if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined C_is_char \
384*38fd1498Szrj       && _GLIBCXX_USE_CXX11_ABI == 0
385*38fd1498Szrj 
386*38fd1498Szrj #pragma GCC diagnostic ignored "-Wattribute-alias"
387*38fd1498Szrj 
388*38fd1498Szrj #define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \
389*38fd1498Szrj   extern "C" void ldbl (void) __attribute__ ((alias (#dbl), weak))
390*38fd1498Szrj 
391*38fd1498Szrj _GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
392*38fd1498Szrj 		     _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
393*38fd1498Szrj _GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
394*38fd1498Szrj 		     _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
395*38fd1498Szrj _GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
396*38fd1498Szrj 		     _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
397*38fd1498Szrj _GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
398*38fd1498Szrj 		     _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
399*38fd1498Szrj _GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
400*38fd1498Szrj 		     _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
401*38fd1498Szrj _GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
402*38fd1498Szrj 		     _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
403*38fd1498Szrj _GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES4_S4_RSt8ios_basecT_,
404*38fd1498Szrj 		     _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_);
405*38fd1498Szrj _GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES4_S4_RSt8ios_basecT_,
406*38fd1498Szrj 		     _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_);
407*38fd1498Szrj _GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES4_S4_RSt8ios_basecT_,
408*38fd1498Szrj 		     _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_);
409*38fd1498Szrj _GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES4_S4_RSt8ios_basecT_,
410*38fd1498Szrj 		     _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_);
411*38fd1498Szrj _GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES4_S4_RSt8ios_baseccT_,
412*38fd1498Szrj 		     _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_);
413*38fd1498Szrj _GLIBCXX_LDBL_COMPAT(_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_,
414*38fd1498Szrj 		     _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_);
415*38fd1498Szrj _GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs,
416*38fd1498Szrj 		     _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs);
417*38fd1498Szrj _GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs,
418*38fd1498Szrj 		     _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs);
419*38fd1498Szrj _GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKSs,
420*38fd1498Szrj 		     _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs);
421*38fd1498Szrj _GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKSs,
422*38fd1498Szrj 		     _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs);
423*38fd1498Szrj 
424*38fd1498Szrj #endif // _GLIBCXX_LONG_DOUBLE_COMPAT
425