39#pragma GCC system_header
41namespace std _GLIBCXX_VISIBILITY(default)
43_GLIBCXX_BEGIN_NAMESPACE_VERSION
67 template<
typename _InternT,
typename _ExternT,
typename _StateT>
73 typedef codecvt_base::result result;
76 typedef _StateT state_type;
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(); }
224 __codecvt_abstract_base(
size_t __refs = 0) : locale::
facet(__refs) { }
227 ~__codecvt_abstract_base() { }
253 do_encoding()
const throw() = 0;
256 do_always_noconv()
const throw() = 0;
260 const extern_type* __end,
size_t __max)
const = 0;
263 do_max_length()
const throw() = 0;
279 typedef codecvt_base::result result;
282 typedef _StateT state_type;
285 __c_locale _M_c_locale_codecvt;
293 _M_c_locale_codecvt(0)
320 do_encoding()
const throw();
323 do_always_noconv()
const throw();
327 const extern_type* __end,
size_t __max)
const;
330 do_max_length()
const throw();
345 typedef char intern_type;
346 typedef char extern_type;
347 typedef mbstate_t state_type;
350 __c_locale _M_c_locale_codecvt;
382 do_encoding()
const throw();
385 do_always_noconv()
const throw();
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;
435 do_unshift(state_type&
__state,
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();
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;
495 do_unshift(state_type&
__state,
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;
552 do_unshift(state_type&
__state,
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();
581 template<
typename _InternT,
typename _ExternT,
typename _StateT>
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>
619 codecvt_byname(
const string& __s,
size_t __refs = 0)
620 : codecvt_byname(__s.c_str(), __refs) { }
624 ~codecvt_byname() { }
628 class codecvt_byname<char32_t, char, mbstate_t>
629 :
public codecvt<char32_t, char, mbstate_t>
633 codecvt_byname(
const char* __s,
size_t __refs = 0)
634 : codecvt<char32_t, char, mbstate_t>(__refs) { }
637 codecvt_byname(
const string& __s,
size_t __refs = 0)
638 : codecvt_byname(__s.c_str(), __refs) { }
642 ~codecvt_byname() { }
648#if _GLIBCXX_EXTERN_TEMPLATE
649 extern template class codecvt_byname<char, char, mbstate_t>;
652 const codecvt<char, char, mbstate_t>&
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
660 extern template class codecvt_byname<wchar_t, char, mbstate_t>;
663 const codecvt<wchar_t, char, mbstate_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)
672 extern template class codecvt_byname<char16_t, char, mbstate_t>;
673 extern template class codecvt_byname<char32_t, char, mbstate_t>;
678_GLIBCXX_END_NAMESPACE_VERSION
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.