39 #pragma GCC system_header 41 namespace std _GLIBCXX_VISIBILITY(default)
43 _GLIBCXX_BEGIN_NAMESPACE_VERSION
67 template<
typename _InternT,
typename _ExternT,
typename _StateT>
73 typedef codecvt_base::result result;
74 typedef _InternT intern_type;
75 typedef _ExternT extern_type;
76 typedef _StateT state_type;
116 out(state_type& __state,
const intern_type* __from,
117 const intern_type* __from_end,
const intern_type*& __from_next,
118 extern_type* __to, extern_type* __to_end,
119 extern_type*& __to_next)
const 121 return this->do_out(__state, __from, __from_end, __from_next,
122 __to, __to_end, __to_next);
155 unshift(state_type& __state, extern_type* __to, extern_type* __to_end,
156 extern_type*& __to_next)
const 157 {
return this->do_unshift(__state, __to,__to_end,__to_next); }
196 in(state_type& __state,
const extern_type* __from,
197 const extern_type* __from_end,
const extern_type*& __from_next,
198 intern_type* __to, intern_type* __to_end,
199 intern_type*& __to_next)
const 201 return this->do_in(__state, __from, __from_end, __from_next,
202 __to, __to_end, __to_next);
206 encoding()
const throw()
207 {
return this->do_encoding(); }
210 always_noconv()
const throw()
211 {
return this->do_always_noconv(); }
214 length(state_type& __state,
const extern_type* __from,
215 const extern_type* __end,
size_t __max)
const 216 {
return this->do_length(__state, __from, __end, __max); }
219 max_length()
const throw()
220 {
return this->do_max_length(); }
237 do_out(state_type& __state,
const intern_type* __from,
238 const intern_type* __from_end,
const intern_type*& __from_next,
239 extern_type* __to, extern_type* __to_end,
240 extern_type*& __to_next)
const = 0;
243 do_unshift(state_type& __state, extern_type* __to,
244 extern_type* __to_end, extern_type*& __to_next)
const = 0;
247 do_in(state_type& __state,
const extern_type* __from,
248 const extern_type* __from_end,
const extern_type*& __from_next,
249 intern_type* __to, intern_type* __to_end,
250 intern_type*& __to_next)
const = 0;
253 do_encoding()
const throw() = 0;
256 do_always_noconv()
const throw() = 0;
259 do_length(state_type&,
const extern_type* __from,
260 const extern_type* __end,
size_t __max)
const = 0;
263 do_max_length()
const throw() = 0;
273 template<
typename _InternT,
typename _ExternT,
typename _StateT>
279 typedef codecvt_base::result result;
280 typedef _InternT intern_type;
281 typedef _ExternT extern_type;
282 typedef _StateT state_type;
285 __c_locale _M_c_locale_codecvt;
293 _M_c_locale_codecvt(0)
297 codecvt(__c_locale __cloc,
size_t __refs = 0);
304 do_out(state_type& __state,
const intern_type* __from,
305 const intern_type* __from_end,
const intern_type*& __from_next,
306 extern_type* __to, extern_type* __to_end,
307 extern_type*& __to_next)
const;
310 do_unshift(state_type& __state, extern_type* __to,
311 extern_type* __to_end, extern_type*& __to_next)
const;
314 do_in(state_type& __state,
const extern_type* __from,
315 const extern_type* __from_end,
const extern_type*& __from_next,
316 intern_type* __to, intern_type* __to_end,
317 intern_type*& __to_next)
const;
320 do_encoding()
const throw();
323 do_always_noconv()
const throw();
326 do_length(state_type&,
const extern_type* __from,
327 const extern_type* __end,
size_t __max)
const;
330 do_max_length()
const throw();
333 template<
typename _InternT,
typename _ExternT,
typename _StateT>
345 typedef char intern_type;
346 typedef char extern_type;
347 typedef mbstate_t state_type;
350 __c_locale _M_c_locale_codecvt;
359 codecvt(__c_locale __cloc,
size_t __refs = 0);
366 do_out(state_type& __state,
const intern_type* __from,
367 const intern_type* __from_end,
const intern_type*& __from_next,
368 extern_type* __to, extern_type* __to_end,
369 extern_type*& __to_next)
const;
372 do_unshift(state_type& __state, extern_type* __to,
373 extern_type* __to_end, extern_type*& __to_next)
const;
376 do_in(state_type& __state,
const extern_type* __from,
377 const extern_type* __from_end,
const extern_type*& __from_next,
378 intern_type* __to, intern_type* __to_end,
379 intern_type*& __to_next)
const;
382 do_encoding()
const throw();
385 do_always_noconv()
const throw();
388 do_length(state_type&,
const extern_type* __from,
389 const extern_type* __end,
size_t __max)
const;
392 do_max_length()
const throw();
395 #ifdef _GLIBCXX_USE_WCHAR_T 408 typedef wchar_t intern_type;
409 typedef char extern_type;
410 typedef mbstate_t state_type;
413 __c_locale _M_c_locale_codecvt;
422 codecvt(__c_locale __cloc,
size_t __refs = 0);
429 do_out(state_type& __state,
const intern_type* __from,
430 const intern_type* __from_end,
const intern_type*& __from_next,
431 extern_type* __to, extern_type* __to_end,
432 extern_type*& __to_next)
const;
435 do_unshift(state_type& __state,
436 extern_type* __to, extern_type* __to_end,
437 extern_type*& __to_next)
const;
440 do_in(state_type& __state,
441 const extern_type* __from,
const extern_type* __from_end,
442 const extern_type*& __from_next,
443 intern_type* __to, intern_type* __to_end,
444 intern_type*& __to_next)
const;
447 int do_encoding()
const throw();
450 bool do_always_noconv()
const throw();
453 int do_length(state_type&,
const extern_type* __from,
454 const extern_type* __end,
size_t __max)
const;
457 do_max_length()
const throw();
459 #endif //_GLIBCXX_USE_WCHAR_T 461 #if __cplusplus >= 201103L 462 #ifdef _GLIBCXX_USE_C99_STDINT_TR1 473 typedef char16_t intern_type;
474 typedef char extern_type;
475 typedef mbstate_t state_type;
489 do_out(state_type& __state,
const intern_type* __from,
490 const intern_type* __from_end,
const intern_type*& __from_next,
491 extern_type* __to, extern_type* __to_end,
492 extern_type*& __to_next)
const;
495 do_unshift(state_type& __state,
496 extern_type* __to, extern_type* __to_end,
497 extern_type*& __to_next)
const;
500 do_in(state_type& __state,
501 const extern_type* __from,
const extern_type* __from_end,
502 const extern_type*& __from_next,
503 intern_type* __to, intern_type* __to_end,
504 intern_type*& __to_next)
const;
507 int do_encoding()
const throw();
510 bool do_always_noconv()
const throw();
513 int do_length(state_type&,
const extern_type* __from,
514 const extern_type* __end,
size_t __max)
const;
517 do_max_length()
const throw();
530 typedef char32_t intern_type;
531 typedef char extern_type;
532 typedef mbstate_t state_type;
546 do_out(state_type& __state,
const intern_type* __from,
547 const intern_type* __from_end,
const intern_type*& __from_next,
548 extern_type* __to, extern_type* __to_end,
549 extern_type*& __to_next)
const;
552 do_unshift(state_type& __state,
553 extern_type* __to, extern_type* __to_end,
554 extern_type*& __to_next)
const;
557 do_in(state_type& __state,
558 const extern_type* __from,
const extern_type* __from_end,
559 const extern_type*& __from_next,
560 intern_type* __to, intern_type* __to_end,
561 intern_type*& __to_next)
const;
564 int do_encoding()
const throw();
567 bool do_always_noconv()
const throw();
570 int do_length(state_type&,
const extern_type* __from,
571 const extern_type* __end,
size_t __max)
const;
574 do_max_length()
const throw();
577 #endif // _GLIBCXX_USE_C99_STDINT_TR1 581 template<
typename _InternT,
typename _ExternT,
typename _StateT>
589 if (__builtin_strcmp(__s,
"C") != 0
590 && __builtin_strcmp(__s,
"POSIX") != 0)
592 this->_S_destroy_c_locale(this->_M_c_locale_codecvt);
593 this->_S_create_c_locale(this->_M_c_locale_codecvt, __s);
597 #if __cplusplus >= 201103L 608 #if __cplusplus >= 201103L && defined(_GLIBCXX_USE_C99_STDINT_TR1) 611 :
public codecvt<char16_t, char, mbstate_t>
629 :
public codecvt<char32_t, char, mbstate_t>
648 #if _GLIBCXX_EXTERN_TEMPLATE 653 use_facet<codecvt<char, char, mbstate_t> >(
const locale&);
657 has_facet<codecvt<char, char, mbstate_t> >(
const locale&);
659 #ifdef _GLIBCXX_USE_WCHAR_T 664 use_facet<codecvt<wchar_t, char, mbstate_t> >(
const locale&);
668 has_facet<codecvt<wchar_t, char, mbstate_t> >(
const locale&);
671 #if __cplusplus >= 201103L && defined(_GLIBCXX_USE_C99_STDINT_TR1) 678 _GLIBCXX_END_NAMESPACE_VERSION
Facet ID class.The ID class provides facets with an index used to identify them. Every facet class mu...
Primary class template messages.This facet encapsulates the code to retrieve messages from message ca...
class codecvt_byname [22.2.1.6].
Common base for codecvt functions.
const _CharT * c_str() const noexcept
Return const pointer to null-terminated contents.
result unshift(state_type &__state, extern_type *__to, extern_type *__to_end, extern_type *&__to_next) const
Reset conversion state.
Empty base class for codecvt facet [22.2.1.5].
ISO C++ entities toplevel namespace is std.
result in(state_type &__state, const extern_type *__from, const extern_type *__from_end, const extern_type *&__from_next, intern_type *__to, intern_type *__to_end, intern_type *&__to_next) const
Convert from external to internal character set.
Localization functionality base class.The facet class is the base class for a localization feature...
Primary class template codecvt.NB: Generic, mostly useless implementation.
Container class for localization functionality.The locale class is first a class wrapper for C librar...
Class codecvt<wchar_t, char, mbstate_t> specialization.
Class codecvt<char16_t, char, mbstate_t> specialization.
result out(state_type &__state, const intern_type *__from, const intern_type *__from_end, const intern_type *&__from_next, extern_type *__to, extern_type *__to_end, extern_type *&__to_next) const
Convert from internal to external character set.
Class codecvt<char32_t, char, mbstate_t> specialization.
class codecvt<char, char, mbstate_t> specialization.