39 #pragma GCC system_header 44 namespace std _GLIBCXX_VISIBILITY(default)
46 _GLIBCXX_BEGIN_NAMESPACE_VERSION
70 template<
typename _InternT,
typename _ExternT,
typename _StateT>
76 typedef codecvt_base::result result;
77 typedef _InternT intern_type;
78 typedef _ExternT extern_type;
79 typedef _StateT state_type;
119 out(state_type& __state,
const intern_type* __from,
120 const intern_type* __from_end,
const intern_type*& __from_next,
121 extern_type* __to, extern_type* __to_end,
122 extern_type*& __to_next)
const 124 return this->do_out(__state, __from, __from_end, __from_next,
125 __to, __to_end, __to_next);
158 unshift(state_type& __state, extern_type* __to, extern_type* __to_end,
159 extern_type*& __to_next)
const 160 {
return this->do_unshift(__state, __to,__to_end,__to_next); }
199 in(state_type& __state,
const extern_type* __from,
200 const extern_type* __from_end,
const extern_type*& __from_next,
201 intern_type* __to, intern_type* __to_end,
202 intern_type*& __to_next)
const 204 return this->do_in(__state, __from, __from_end, __from_next,
205 __to, __to_end, __to_next);
209 encoding()
const throw()
210 {
return this->do_encoding(); }
213 always_noconv()
const throw()
214 {
return this->do_always_noconv(); }
217 length(state_type& __state,
const extern_type* __from,
218 const extern_type* __end,
size_t __max)
const 219 {
return this->do_length(__state, __from, __end, __max); }
222 max_length()
const throw()
223 {
return this->do_max_length(); }
240 do_out(state_type& __state,
const intern_type* __from,
241 const intern_type* __from_end,
const intern_type*& __from_next,
242 extern_type* __to, extern_type* __to_end,
243 extern_type*& __to_next)
const = 0;
246 do_unshift(state_type& __state, extern_type* __to,
247 extern_type* __to_end, extern_type*& __to_next)
const = 0;
250 do_in(state_type& __state,
const extern_type* __from,
251 const extern_type* __from_end,
const extern_type*& __from_next,
252 intern_type* __to, intern_type* __to_end,
253 intern_type*& __to_next)
const = 0;
256 do_encoding()
const throw() = 0;
259 do_always_noconv()
const throw() = 0;
262 do_length(state_type&,
const extern_type* __from,
263 const extern_type* __end,
size_t __max)
const = 0;
266 do_max_length()
const throw() = 0;
276 template<
typename _InternT,
typename _ExternT,
typename _StateT>
282 typedef codecvt_base::result result;
283 typedef _InternT intern_type;
284 typedef _ExternT extern_type;
285 typedef _StateT state_type;
288 __c_locale _M_c_locale_codecvt;
296 _M_c_locale_codecvt(0)
300 codecvt(__c_locale __cloc,
size_t __refs = 0);
307 do_out(state_type& __state,
const intern_type* __from,
308 const intern_type* __from_end,
const intern_type*& __from_next,
309 extern_type* __to, extern_type* __to_end,
310 extern_type*& __to_next)
const;
313 do_unshift(state_type& __state, extern_type* __to,
314 extern_type* __to_end, extern_type*& __to_next)
const;
317 do_in(state_type& __state,
const extern_type* __from,
318 const extern_type* __from_end,
const extern_type*& __from_next,
319 intern_type* __to, intern_type* __to_end,
320 intern_type*& __to_next)
const;
323 do_encoding()
const throw();
326 do_always_noconv()
const throw();
329 do_length(state_type&,
const extern_type* __from,
330 const extern_type* __end,
size_t __max)
const;
333 do_max_length()
const throw();
336 template<
typename _InternT,
typename _ExternT,
typename _StateT>
348 typedef char intern_type;
349 typedef char extern_type;
350 typedef mbstate_t state_type;
353 __c_locale _M_c_locale_codecvt;
362 codecvt(__c_locale __cloc,
size_t __refs = 0);
369 do_out(state_type& __state,
const intern_type* __from,
370 const intern_type* __from_end,
const intern_type*& __from_next,
371 extern_type* __to, extern_type* __to_end,
372 extern_type*& __to_next)
const;
375 do_unshift(state_type& __state, extern_type* __to,
376 extern_type* __to_end, extern_type*& __to_next)
const;
379 do_in(state_type& __state,
const extern_type* __from,
380 const extern_type* __from_end,
const extern_type*& __from_next,
381 intern_type* __to, intern_type* __to_end,
382 intern_type*& __to_next)
const;
385 do_encoding()
const throw();
388 do_always_noconv()
const throw();
391 do_length(state_type&,
const extern_type* __from,
392 const extern_type* __end,
size_t __max)
const;
395 do_max_length()
const throw();
398 #ifdef _GLIBCXX_USE_WCHAR_T 411 typedef wchar_t intern_type;
412 typedef char extern_type;
413 typedef mbstate_t state_type;
416 __c_locale _M_c_locale_codecvt;
425 codecvt(__c_locale __cloc,
size_t __refs = 0);
432 do_out(state_type& __state,
const intern_type* __from,
433 const intern_type* __from_end,
const intern_type*& __from_next,
434 extern_type* __to, extern_type* __to_end,
435 extern_type*& __to_next)
const;
438 do_unshift(state_type& __state,
439 extern_type* __to, extern_type* __to_end,
440 extern_type*& __to_next)
const;
443 do_in(state_type& __state,
444 const extern_type* __from,
const extern_type* __from_end,
445 const extern_type*& __from_next,
446 intern_type* __to, intern_type* __to_end,
447 intern_type*& __to_next)
const;
450 int do_encoding()
const throw();
453 bool do_always_noconv()
const throw();
456 int do_length(state_type&,
const extern_type* __from,
457 const extern_type* __end,
size_t __max)
const;
460 do_max_length()
const throw();
462 #endif //_GLIBCXX_USE_WCHAR_T 464 #if __cplusplus >= 201103L 475 typedef char16_t intern_type;
476 typedef char extern_type;
477 typedef mbstate_t state_type;
491 do_out(state_type& __state,
const intern_type* __from,
492 const intern_type* __from_end,
const intern_type*& __from_next,
493 extern_type* __to, extern_type* __to_end,
494 extern_type*& __to_next)
const;
497 do_unshift(state_type& __state,
498 extern_type* __to, extern_type* __to_end,
499 extern_type*& __to_next)
const;
502 do_in(state_type& __state,
503 const extern_type* __from,
const extern_type* __from_end,
504 const extern_type*& __from_next,
505 intern_type* __to, intern_type* __to_end,
506 intern_type*& __to_next)
const;
509 int do_encoding()
const throw();
512 bool do_always_noconv()
const throw();
515 int do_length(state_type&,
const extern_type* __from,
516 const extern_type* __end,
size_t __max)
const;
519 do_max_length()
const throw();
532 typedef char32_t intern_type;
533 typedef char extern_type;
534 typedef mbstate_t state_type;
548 do_out(state_type& __state,
const intern_type* __from,
549 const intern_type* __from_end,
const intern_type*& __from_next,
550 extern_type* __to, extern_type* __to_end,
551 extern_type*& __to_next)
const;
554 do_unshift(state_type& __state,
555 extern_type* __to, extern_type* __to_end,
556 extern_type*& __to_next)
const;
559 do_in(state_type& __state,
560 const extern_type* __from,
const extern_type* __from_end,
561 const extern_type*& __from_next,
562 intern_type* __to, intern_type* __to_end,
563 intern_type*& __to_next)
const;
566 int do_encoding()
const throw();
569 bool do_always_noconv()
const throw();
572 int do_length(state_type&,
const extern_type* __from,
573 const extern_type* __end,
size_t __max)
const;
576 do_max_length()
const throw();
579 #ifdef _GLIBCXX_USE_CHAR8_T 585 class codecvt<char16_t, char8_t, mbstate_t>
590 typedef char16_t intern_type;
591 typedef char8_t extern_type;
592 typedef mbstate_t state_type;
606 do_out(state_type& __state,
const intern_type* __from,
607 const intern_type* __from_end,
const intern_type*& __from_next,
608 extern_type* __to, extern_type* __to_end,
609 extern_type*& __to_next)
const;
612 do_unshift(state_type& __state,
613 extern_type* __to, extern_type* __to_end,
614 extern_type*& __to_next)
const;
617 do_in(state_type& __state,
618 const extern_type* __from,
const extern_type* __from_end,
619 const extern_type*& __from_next,
620 intern_type* __to, intern_type* __to_end,
621 intern_type*& __to_next)
const;
624 int do_encoding()
const throw();
627 bool do_always_noconv()
const throw();
630 int do_length(state_type&,
const extern_type* __from,
631 const extern_type* __end,
size_t __max)
const;
634 do_max_length()
const throw();
642 class codecvt<char32_t, char8_t, mbstate_t>
647 typedef char32_t intern_type;
648 typedef char8_t extern_type;
649 typedef mbstate_t state_type;
663 do_out(state_type& __state,
const intern_type* __from,
664 const intern_type* __from_end,
const intern_type*& __from_next,
665 extern_type* __to, extern_type* __to_end,
666 extern_type*& __to_next)
const;
669 do_unshift(state_type& __state,
670 extern_type* __to, extern_type* __to_end,
671 extern_type*& __to_next)
const;
674 do_in(state_type& __state,
675 const extern_type* __from,
const extern_type* __from_end,
676 const extern_type*& __from_next,
677 intern_type* __to, intern_type* __to_end,
678 intern_type*& __to_next)
const;
681 int do_encoding()
const throw();
684 bool do_always_noconv()
const throw();
687 int do_length(state_type&,
const extern_type* __from,
688 const extern_type* __end,
size_t __max)
const;
691 do_max_length()
const throw();
693 #endif // _GLIBCXX_USE_CHAR8_T 698 template<
typename _InternT,
typename _ExternT,
typename _StateT>
706 if (__builtin_strcmp(__s,
"C") != 0
707 && __builtin_strcmp(__s,
"POSIX") != 0)
709 this->_S_destroy_c_locale(this->_M_c_locale_codecvt);
710 this->_S_create_c_locale(this->_M_c_locale_codecvt, __s);
714 #if __cplusplus >= 201103L 725 #if __cplusplus >= 201103L 728 :
public codecvt<char16_t, char, mbstate_t>
746 :
public codecvt<char32_t, char, mbstate_t>
762 #if defined(_GLIBCXX_USE_CHAR8_T) 765 :
public codecvt<char16_t, char8_t, mbstate_t>
783 :
public codecvt<char32_t, char8_t, mbstate_t>
804 #if _GLIBCXX_EXTERN_TEMPLATE 809 use_facet<codecvt<char, char, mbstate_t> >(
const locale&);
813 has_facet<codecvt<char, char, mbstate_t> >(
const locale&);
815 #ifdef _GLIBCXX_USE_WCHAR_T 820 use_facet<codecvt<wchar_t, char, mbstate_t> >(
const locale&);
824 has_facet<codecvt<wchar_t, char, mbstate_t> >(
const locale&);
827 #if __cplusplus >= 201103L 831 #if defined(_GLIBCXX_USE_CHAR8_T) 840 _GLIBCXX_END_NAMESPACE_VERSION
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.
class codecvt<char, char, mbstate_t> specialization.
Container class for localization functionality.The locale class is first a class wrapper for C librar...
Empty base class for codecvt facet [22.2.1.5].
Class codecvt<char16_t, char, mbstate_t> specialization.
Facet ID class.The ID class provides facets with an index used to identify them. Every facet class mu...
Primary class template codecvt.NB: Generic, mostly useless implementation.
class codecvt_byname [22.2.1.6].
const _CharT * c_str() const noexcept
Return const pointer to null-terminated contents.
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.
Primary class template messages.This facet encapsulates the code to retrieve messages from message ca...
result unshift(state_type &__state, extern_type *__to, extern_type *__to_end, extern_type *&__to_next) const
Reset conversion state.
Class codecvt<wchar_t, char, mbstate_t> specialization.
Localization functionality base class.The facet class is the base class for a localization feature...
Common base for codecvt functions.
ISO C++ entities toplevel namespace is std.
Class codecvt<char32_t, char, mbstate_t> specialization.