diff options
author | kan <kan@FreeBSD.org> | 2002-09-17 04:04:04 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2002-09-17 04:04:04 +0000 |
commit | dc1db5ec483d00a99f27c767c2b5f735a815f9ab (patch) | |
tree | 11495202807dd843ab9dfbedfd9e9a796c6b817f /contrib/libstdc++/src/codecvt.cc | |
parent | a1d331aa1f1bf4bf54fe647a5da21a67ed1dce95 (diff) | |
parent | d28dfe2607c93215301923596ce65ae6df3d4cd9 (diff) | |
download | FreeBSD-src-dc1db5ec483d00a99f27c767c2b5f735a815f9ab.zip FreeBSD-src-dc1db5ec483d00a99f27c767c2b5f735a815f9ab.tar.gz |
This commit was generated by cvs2svn to compensate for changes in r103447,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'contrib/libstdc++/src/codecvt.cc')
-rw-r--r-- | contrib/libstdc++/src/codecvt.cc | 74 |
1 files changed, 13 insertions, 61 deletions
diff --git a/contrib/libstdc++/src/codecvt.cc b/contrib/libstdc++/src/codecvt.cc index 032667e..a2fb42d 100644 --- a/contrib/libstdc++/src/codecvt.cc +++ b/contrib/libstdc++/src/codecvt.cc @@ -31,6 +31,13 @@ namespace std { + // Definitions for locale::id of standard facets that are specialized. + locale::id codecvt<char, char, mbstate_t>::id; + +#ifdef _GLIBCPP_USE_WCHAR_T + locale::id codecvt<wchar_t, char, mbstate_t>::id; +#endif + #ifdef _GLIBCPP_USE___ENC_TRAITS // Definitions for static const data members of __enc_traits. const int __enc_traits::_S_max_size; @@ -42,7 +49,8 @@ namespace std { } codecvt<char, char, mbstate_t>:: - ~codecvt() { } + ~codecvt() + { } codecvt_base::result codecvt<char, char, mbstate_t>:: @@ -106,39 +114,12 @@ namespace std // codecvt<wchar_t, char, mbstate_t> required specialization codecvt<wchar_t, char, mbstate_t>:: codecvt(size_t __refs) - : __codecvt_abstract_base<wchar_t, char, mbstate_t>(__refs) { } + : __codecvt_abstract_base<wchar_t, char, mbstate_t>(__refs) + { } codecvt<wchar_t, char, mbstate_t>:: - ~codecvt() { } - - codecvt_base::result - codecvt<wchar_t, char, mbstate_t>:: - 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 - { - result __ret = error; - size_t __len = min(__from_end - __from, __to_end - __to); - size_t __conv = wcsrtombs(__to, &__from, __len, &__state); - - if (__conv == __len) - { - __from_next = __from; - __to_next = __to + __conv; - __ret = ok; - } - else if (__conv > 0 && __conv < __len) - { - __from_next = __from; - __to_next = __to + __conv; - __ret = partial; - } - else - __ret = error; - - return __ret; - } + ~codecvt() + { } codecvt_base::result codecvt<wchar_t, char, mbstate_t>:: @@ -149,35 +130,6 @@ namespace std return noconv; } - codecvt_base::result - codecvt<wchar_t, char, mbstate_t>:: - do_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 - { - result __ret = error; - size_t __len = min(__from_end - __from, __to_end - __to); - size_t __conv = mbsrtowcs(__to, &__from, __len, &__state); - - if (__conv == __len) - { - __from_next = __from; - __to_next = __to + __conv; - __ret = ok; - } - else if (__conv > 0 && __conv < __len) - { - __from_next = __from; - __to_next = __to + __conv; - __ret = partial; - } - else - __ret = error; - - return __ret; - } - int codecvt<wchar_t, char, mbstate_t>:: do_encoding() const throw() |