40#pragma GCC system_header
46#pragma GCC diagnostic push
47#pragma GCC diagnostic ignored "-Wc++11-extensions"
49namespace std _GLIBCXX_VISIBILITY(default)
51_GLIBCXX_BEGIN_NAMESPACE_VERSION
75 template<
typename _InternT,
typename _ExternT,
typename _StateT>
81 typedef codecvt_base::result result;
84 typedef _StateT state_type;
214 encoding()
const throw()
215 {
return this->do_encoding(); }
218 always_noconv()
const throw()
219 {
return this->do_always_noconv(); }
222 length(state_type& __state,
const extern_type* __from,
223 const extern_type* __end,
size_t __max)
const
224 {
return this->do_length(__state, __from, __end, __max); }
227 max_length()
const throw()
228 {
return this->do_max_length(); }
232 __codecvt_abstract_base(
size_t __refs = 0) : locale::
facet(__refs) { }
235 ~__codecvt_abstract_base() { }
261 do_encoding()
const throw() = 0;
268 const extern_type* __end,
size_t __max)
const = 0;
287 typedef codecvt_base::result result;
290 typedef _StateT state_type;
293 __c_locale _M_c_locale_codecvt;
301 _M_c_locale_codecvt(0)
328 do_encoding()
const throw();
335 const extern_type* __end,
size_t __max)
const;
353 typedef char intern_type;
354 typedef char extern_type;
355 typedef mbstate_t state_type;
358 __c_locale _M_c_locale_codecvt;
390 do_encoding()
const throw();
397 const extern_type* __end,
size_t __max)
const;
403#ifdef _GLIBCXX_USE_WCHAR_T
416 typedef wchar_t intern_type;
417 typedef char extern_type;
418 typedef mbstate_t state_type;
421 __c_locale _M_c_locale_codecvt;
443 do_unshift(state_type&
__state,
455 int do_encoding()
const throw();
461 int do_length(state_type&,
const extern_type*
__from,
462 const extern_type* __end,
size_t __max)
const;
469#if __cplusplus >= 201103L
480 typedef char16_t intern_type;
481 typedef char extern_type;
482 typedef mbstate_t state_type;
502 do_unshift(state_type&
__state,
514 int do_encoding()
const throw();
520 int do_length(state_type&,
const extern_type*
__from,
521 const extern_type* __end,
size_t __max)
const;
537 typedef char32_t intern_type;
538 typedef char extern_type;
539 typedef mbstate_t state_type;
559 do_unshift(state_type&
__state,
571 int do_encoding()
const throw();
577 int do_length(state_type&,
const extern_type*
__from,
578 const extern_type* __end,
size_t __max)
const;
584#ifdef _GLIBCXX_USE_CHAR8_T
595 typedef char16_t intern_type;
596 typedef char8_t extern_type;
597 typedef mbstate_t state_type;
617 do_unshift(state_type&
__state,
629 int do_encoding()
const throw();
635 int do_length(state_type&,
const extern_type*
__from,
636 const extern_type* __end,
size_t __max)
const;
652 typedef char32_t intern_type;
653 typedef char8_t extern_type;
654 typedef mbstate_t state_type;
668 do_out(state_type& __state,
const intern_type* __from,
669 const intern_type* __from_end,
const intern_type*& __from_next,
670 extern_type* __to, extern_type* __to_end,
671 extern_type*& __to_next)
const;
674 do_unshift(state_type& __state,
675 extern_type* __to, extern_type* __to_end,
676 extern_type*& __to_next)
const;
679 do_in(state_type& __state,
680 const extern_type* __from,
const extern_type* __from_end,
681 const extern_type*& __from_next,
682 intern_type* __to, intern_type* __to_end,
683 intern_type*& __to_next)
const;
686 int do_encoding()
const throw();
689 bool do_always_noconv() const throw();
692 int do_length(state_type&, const extern_type* __from,
693 const extern_type* __end,
size_t __max) const;
696 do_max_length() const throw();
703 template<
typename _InternT,
typename _ExternT,
typename _StateT>
714 this->_S_destroy_c_locale(this->_M_c_locale_codecvt);
715 this->_S_create_c_locale(this->_M_c_locale_codecvt,
__s);
719#if __cplusplus >= 201103L
730#if __cplusplus >= 201103L
733 :
public codecvt<char16_t, char, mbstate_t>
741 codecvt_byname(
const string& __s,
size_t __refs = 0)
742 : codecvt_byname(__s.c_str(), __refs) { }
746 ~codecvt_byname() { }
750 class codecvt_byname<char32_t, char, mbstate_t>
751 :
public codecvt<char32_t, char, mbstate_t>
755 codecvt_byname(
const char*,
size_t __refs = 0)
756 : codecvt<char32_t, char, mbstate_t>(__refs) { }
759 codecvt_byname(
const string& __s,
size_t __refs = 0)
760 : codecvt_byname(__s.c_str(), __refs) { }
764 ~codecvt_byname() { }
767#if defined(_GLIBCXX_USE_CHAR8_T)
769 class codecvt_byname<char16_t, char8_t, mbstate_t>
770 :
public codecvt<char16_t, char8_t, mbstate_t>
774 codecvt_byname(
const char*,
size_t __refs = 0)
775 : codecvt<char16_t, char8_t, mbstate_t>(__refs) { }
778 codecvt_byname(
const string& __s,
size_t __refs = 0)
779 : codecvt_byname(__s.c_str(), __refs) { }
783 ~codecvt_byname() { }
787 class codecvt_byname<char32_t, char8_t, mbstate_t>
788 :
public codecvt<char32_t, char8_t, mbstate_t>
792 codecvt_byname(
const char*,
size_t __refs = 0)
793 : codecvt<char32_t, char8_t, mbstate_t>(__refs) { }
796 codecvt_byname(
const string& __s,
size_t __refs = 0)
797 : codecvt_byname(__s.c_str(), __refs) { }
801 ~codecvt_byname() { }
809#if _GLIBCXX_EXTERN_TEMPLATE
810 extern template class codecvt_byname<char, char, mbstate_t>;
813 const codecvt<char, char, mbstate_t>&
814 use_facet<codecvt<char, char, mbstate_t> >(
const locale&);
818 has_facet<codecvt<char, char, mbstate_t> >(
const locale&);
820#ifdef _GLIBCXX_USE_WCHAR_T
821 extern template class codecvt_byname<wchar_t, char, mbstate_t>;
824 const codecvt<wchar_t, char, mbstate_t>&
825 use_facet<codecvt<wchar_t, char, mbstate_t> >(
const locale&);
829 has_facet<codecvt<wchar_t, char, mbstate_t> >(
const locale&);
832#if __cplusplus >= 201103L
833 extern template class codecvt_byname<char16_t, char, mbstate_t>;
834 extern template class codecvt_byname<char32_t, char, mbstate_t>;
836#if defined(_GLIBCXX_USE_CHAR8_T)
837 extern template class codecvt_byname<char16_t, char8_t, mbstate_t>;
838 extern template class codecvt_byname<char32_t, char8_t, mbstate_t>;
845_GLIBCXX_END_NAMESPACE_VERSION
848#pragma GCC diagnostic pop
ISO C++ entities toplevel namespace is std.
Empty base class for codecvt facet [22.2.1.5].
Common base for codecvt functions.
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.
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.
result unshift(state_type &__state, extern_type *__to, extern_type *__to_end, extern_type *&__to_next) const
Reset conversion state.
virtual result do_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 =0
Convert from internal to external character set.
Primary class template codecvt.
virtual result do_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.
virtual result do_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.
virtual result do_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.
virtual result do_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.
virtual result do_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_byname [22.2.1.6].
Container class for localization functionality.
Localization functionality base class.
facet(size_t __refs=0)
Facet constructor.
Primary class template messages.