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(); }
 
  224       __codecvt_abstract_base(
size_t __refs = 0) : locale::
facet(__refs) { }
 
  227       ~__codecvt_abstract_base() { }
 
  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;
 
  275    template<typename _InternT, typename _ExternT, typename _StateT>
 
  281       typedef codecvt_base::result  result;
 
  282       typedef _InternT          intern_type;
 
  283       typedef _ExternT          extern_type;
 
  284       typedef _StateT           state_type;
 
  287       __c_locale            _M_c_locale_codecvt;
 
  295     _M_c_locale_codecvt(0)
 
  299       codecvt(__c_locale __cloc, 
size_t __refs = 0);
 
  306       do_out(state_type& __state, 
const intern_type* __from,
 
  307          const intern_type* __from_end, 
const intern_type*& __from_next,
 
  308          extern_type* __to, extern_type* __to_end,
 
  309          extern_type*& __to_next) 
const;
 
  312       do_unshift(state_type& __state, extern_type* __to,
 
  313          extern_type* __to_end, extern_type*& __to_next) 
const;
 
  316       do_in(state_type& __state, 
const extern_type* __from,
 
  317         const extern_type* __from_end, 
const extern_type*& __from_next,
 
  318         intern_type* __to, intern_type* __to_end,
 
  319         intern_type*& __to_next) 
const;
 
  322       do_encoding() 
const throw();
 
  325       do_always_noconv() 
const throw();
 
  328       do_length(state_type&, 
const extern_type* __from,
 
  329         const extern_type* __end, 
size_t __max) 
const;
 
  332       do_max_length() 
const throw();
 
  335   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 
  403       typedef wchar_t           intern_type;
 
  404       typedef char          extern_type;
 
  405       typedef mbstate_t         state_type;
 
  408       __c_locale            _M_c_locale_codecvt;
 
  417       codecvt(__c_locale __cloc, 
size_t __refs = 0);
 
  424       do_out(state_type& __state, 
const intern_type* __from,
 
  425          const intern_type* __from_end, 
const intern_type*& __from_next,
 
  426          extern_type* __to, extern_type* __to_end,
 
  427          extern_type*& __to_next) 
const;
 
  430       do_unshift(state_type& __state,
 
  431          extern_type* __to, extern_type* __to_end,
 
  432          extern_type*& __to_next) 
const;
 
  435       do_in(state_type& __state,
 
  436          const extern_type* __from, 
const extern_type* __from_end,
 
  437          const extern_type*& __from_next,
 
  438          intern_type* __to, intern_type* __to_end,
 
  439          intern_type*& __to_next) 
const;
 
  442       int do_encoding() 
const throw();
 
  445       bool do_always_noconv() 
const throw();
 
  448       int do_length(state_type&, 
const extern_type* __from,
 
  449             const extern_type* __end, 
size_t __max) 
const;
 
  452       do_max_length() 
const throw();
 
  454 #endif //_GLIBCXX_USE_WCHAR_T 
  457   template<
typename _InternT, 
typename _ExternT, 
typename _StateT>
 
  465     if (__builtin_strcmp(__s, 
"C") != 0
 
  466         && __builtin_strcmp(__s, 
"POSIX") != 0)
 
  468         this->_S_destroy_c_locale(this->_M_c_locale_codecvt);
 
  469         this->_S_create_c_locale(this->_M_c_locale_codecvt, __s);
 
  480 #if _GLIBCXX_EXTERN_TEMPLATE 
  485     use_facet<codecvt<char, char, mbstate_t> >(
const locale&);
 
  489     has_facet<codecvt<char, char, mbstate_t> >(
const locale&);
 
  491 #ifdef _GLIBCXX_USE_WCHAR_T 
  496     use_facet<codecvt<wchar_t, char, mbstate_t> >(
const locale&);
 
  500     has_facet<codecvt<wchar_t, char, mbstate_t> >(
const locale&);
 
  504 _GLIBCXX_END_NAMESPACE_VERSION
 
Container class for localization functionality.The locale class is first a class wrapper for C librar...
 
class codecvt specialization. 
 
Primary class template codecvt.NB: Generic, mostly useless implementation. 
 
class codecvt_byname [22.2.1.6]. 
 
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. 
 
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. 
 
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. 
 
Facet ID class.The ID class provides facets with an index used to identify them. Every facet class mu...
 
Empty base class for codecvt facet [22.2.1.5]. 
 
ISO C++ entities toplevel namespace is std. 
 
result unshift(state_type &__state, extern_type *__to, extern_type *__to_end, extern_type *&__to_next) const 
Reset conversion state. 
 
class codecvt specialization. 
 
Localization functionality base class.The facet class is the base class for a localization feature...
 
facet(size_t __refs=0)
Facet constructor. 
 
Common base for codecvt functions.