aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/cxxsupp/libcxx/include/codecvt
diff options
context:
space:
mode:
authorAndrey Khalyavin <halyavin@gmail.com>2022-02-10 16:46:30 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:46:30 +0300
commit4b839d0704ee9be1dabb0310a1f03af24963637b (patch)
tree1a2c5ffcf89eb53ecd79dbc9bc0a195c27404d0c /contrib/libs/cxxsupp/libcxx/include/codecvt
parentf773626848a7c7456803654292e716b83d69cc12 (diff)
downloadydb-4b839d0704ee9be1dabb0310a1f03af24963637b.tar.gz
Restoring authorship annotation for Andrey Khalyavin <halyavin@gmail.com>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/cxxsupp/libcxx/include/codecvt')
-rw-r--r--contrib/libs/cxxsupp/libcxx/include/codecvt1152
1 files changed, 576 insertions, 576 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/include/codecvt b/contrib/libs/cxxsupp/libcxx/include/codecvt
index f8b26d07b8..4ae07be3f8 100644
--- a/contrib/libs/cxxsupp/libcxx/include/codecvt
+++ b/contrib/libs/cxxsupp/libcxx/include/codecvt
@@ -1,579 +1,579 @@
-// -*- C++ -*-
-//===-------------------------- codecvt -----------------------------------===//
-//
+// -*- C++ -*-
+//===-------------------------- codecvt -----------------------------------===//
+//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CODECVT
-#define _LIBCPP_CODECVT
-
-/*
- codecvt synopsis
-
-namespace std
-{
-
-enum codecvt_mode
-{
- consume_header = 4,
- generate_header = 2,
- little_endian = 1
-};
-
-template <class Elem, unsigned long Maxcode = 0x10ffff,
- codecvt_mode Mode = (codecvt_mode)0>
-class codecvt_utf8
- : public codecvt<Elem, char, mbstate_t>
-{
- explicit codecvt_utf8(size_t refs = 0);
- ~codecvt_utf8();
-};
-
-template <class Elem, unsigned long Maxcode = 0x10ffff,
- codecvt_mode Mode = (codecvt_mode)0>
-class codecvt_utf16
- : public codecvt<Elem, char, mbstate_t>
-{
- explicit codecvt_utf16(size_t refs = 0);
- ~codecvt_utf16();
-};
-
-template <class Elem, unsigned long Maxcode = 0x10ffff,
- codecvt_mode Mode = (codecvt_mode)0>
-class codecvt_utf8_utf16
- : public codecvt<Elem, char, mbstate_t>
-{
- explicit codecvt_utf8_utf16(size_t refs = 0);
- ~codecvt_utf8_utf16();
-};
-
-} // std
-
-*/
-
-#include <__config>
-#include <__locale>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-enum codecvt_mode
-{
- consume_header = 4,
- generate_header = 2,
- little_endian = 1
-};
-
-// codecvt_utf8
-
-template <class _Elem> class __codecvt_utf8;
-
-#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf8<wchar_t>
- : public codecvt<wchar_t, char, mbstate_t>
-{
- unsigned long _Maxcode_;
- codecvt_mode _Mode_;
-public:
- typedef wchar_t intern_type;
- typedef char extern_type;
- typedef mbstate_t state_type;
-
- _LIBCPP_INLINE_VISIBILITY
- explicit __codecvt_utf8(size_t __refs, unsigned long _Maxcode,
- codecvt_mode _Mode)
- : codecvt<wchar_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
- _Mode_(_Mode) {}
-protected:
- virtual result
- do_out(state_type& __st,
- const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual result
- do_in(state_type& __st,
- const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
- intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
- virtual result
- do_unshift(state_type& __st,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual int do_encoding() const _NOEXCEPT;
- virtual bool do_always_noconv() const _NOEXCEPT;
- virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
- size_t __mx) const;
- virtual int do_max_length() const _NOEXCEPT;
-};
-#endif // _LIBCPP_HAS_NO_WIDE_CHARACTERS
-
-_LIBCPP_SUPPRESS_DEPRECATED_PUSH
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf8<char16_t>
- : public codecvt<char16_t, char, mbstate_t>
-{
- unsigned long _Maxcode_;
- codecvt_mode _Mode_;
-public:
- typedef char16_t intern_type;
- typedef char extern_type;
- typedef mbstate_t state_type;
-
- _LIBCPP_INLINE_VISIBILITY
- explicit __codecvt_utf8(size_t __refs, unsigned long _Maxcode,
- codecvt_mode _Mode)
- : codecvt<char16_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
- _Mode_(_Mode) {}
-_LIBCPP_SUPPRESS_DEPRECATED_POP
-
-protected:
- virtual result
- do_out(state_type& __st,
- const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual result
- do_in(state_type& __st,
- const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
- intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
- virtual result
- do_unshift(state_type& __st,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual int do_encoding() const _NOEXCEPT;
- virtual bool do_always_noconv() const _NOEXCEPT;
- virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
- size_t __mx) const;
- virtual int do_max_length() const _NOEXCEPT;
-};
-
-_LIBCPP_SUPPRESS_DEPRECATED_PUSH
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf8<char32_t>
- : public codecvt<char32_t, char, mbstate_t>
-{
- unsigned long _Maxcode_;
- codecvt_mode _Mode_;
-public:
- typedef char32_t intern_type;
- typedef char extern_type;
- typedef mbstate_t state_type;
-
- _LIBCPP_INLINE_VISIBILITY
- explicit __codecvt_utf8(size_t __refs, unsigned long _Maxcode,
- codecvt_mode _Mode)
- : codecvt<char32_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
- _Mode_(_Mode) {}
-_LIBCPP_SUPPRESS_DEPRECATED_POP
-
-protected:
- virtual result
- do_out(state_type& __st,
- const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual result
- do_in(state_type& __st,
- const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
- intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
- virtual result
- do_unshift(state_type& __st,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual int do_encoding() const _NOEXCEPT;
- virtual bool do_always_noconv() const _NOEXCEPT;
- virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
- size_t __mx) const;
- virtual int do_max_length() const _NOEXCEPT;
-};
-
-template <class _Elem, unsigned long _Maxcode = 0x10ffff,
- codecvt_mode _Mode = (codecvt_mode)0>
-class _LIBCPP_TEMPLATE_VIS codecvt_utf8
- : public __codecvt_utf8<_Elem>
-{
-public:
- _LIBCPP_INLINE_VISIBILITY
- explicit codecvt_utf8(size_t __refs = 0)
- : __codecvt_utf8<_Elem>(__refs, _Maxcode, _Mode) {}
-
- _LIBCPP_INLINE_VISIBILITY
- ~codecvt_utf8() {}
-};
-
-// codecvt_utf16
-
-template <class _Elem, bool _LittleEndian> class __codecvt_utf16;
-
-#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf16<wchar_t, false>
- : public codecvt<wchar_t, char, mbstate_t>
-{
- unsigned long _Maxcode_;
- codecvt_mode _Mode_;
-public:
- typedef wchar_t intern_type;
- typedef char extern_type;
- typedef mbstate_t state_type;
-
- _LIBCPP_INLINE_VISIBILITY
- explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
- codecvt_mode _Mode)
- : codecvt<wchar_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
- _Mode_(_Mode) {}
-protected:
- virtual result
- do_out(state_type& __st,
- const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual result
- do_in(state_type& __st,
- const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
- intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
- virtual result
- do_unshift(state_type& __st,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual int do_encoding() const _NOEXCEPT;
- virtual bool do_always_noconv() const _NOEXCEPT;
- virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
- size_t __mx) const;
- virtual int do_max_length() const _NOEXCEPT;
-};
-
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf16<wchar_t, true>
- : public codecvt<wchar_t, char, mbstate_t>
-{
- unsigned long _Maxcode_;
- codecvt_mode _Mode_;
-public:
- typedef wchar_t intern_type;
- typedef char extern_type;
- typedef mbstate_t state_type;
-
- _LIBCPP_INLINE_VISIBILITY
- explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
- codecvt_mode _Mode)
- : codecvt<wchar_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
- _Mode_(_Mode) {}
-protected:
- virtual result
- do_out(state_type& __st,
- const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual result
- do_in(state_type& __st,
- const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
- intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
- virtual result
- do_unshift(state_type& __st,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual int do_encoding() const _NOEXCEPT;
- virtual bool do_always_noconv() const _NOEXCEPT;
- virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
- size_t __mx) const;
- virtual int do_max_length() const _NOEXCEPT;
-};
-#endif // _LIBCPP_HAS_NO_WIDE_CHARACTERS
-
-_LIBCPP_SUPPRESS_DEPRECATED_PUSH
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf16<char16_t, false>
- : public codecvt<char16_t, char, mbstate_t>
-{
- unsigned long _Maxcode_;
- codecvt_mode _Mode_;
-public:
- typedef char16_t intern_type;
- typedef char extern_type;
- typedef mbstate_t state_type;
-
- _LIBCPP_INLINE_VISIBILITY
- explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
- codecvt_mode _Mode)
- : codecvt<char16_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
- _Mode_(_Mode) {}
-_LIBCPP_SUPPRESS_DEPRECATED_POP
-
-protected:
- virtual result
- do_out(state_type& __st,
- const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual result
- do_in(state_type& __st,
- const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
- intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
- virtual result
- do_unshift(state_type& __st,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual int do_encoding() const _NOEXCEPT;
- virtual bool do_always_noconv() const _NOEXCEPT;
- virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
- size_t __mx) const;
- virtual int do_max_length() const _NOEXCEPT;
-};
-
-_LIBCPP_SUPPRESS_DEPRECATED_PUSH
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf16<char16_t, true>
- : public codecvt<char16_t, char, mbstate_t>
-{
- unsigned long _Maxcode_;
- codecvt_mode _Mode_;
-public:
- typedef char16_t intern_type;
- typedef char extern_type;
- typedef mbstate_t state_type;
-
- _LIBCPP_INLINE_VISIBILITY
- explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
- codecvt_mode _Mode)
- : codecvt<char16_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
- _Mode_(_Mode) {}
-_LIBCPP_SUPPRESS_DEPRECATED_POP
-
-protected:
- virtual result
- do_out(state_type& __st,
- const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual result
- do_in(state_type& __st,
- const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
- intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
- virtual result
- do_unshift(state_type& __st,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual int do_encoding() const _NOEXCEPT;
- virtual bool do_always_noconv() const _NOEXCEPT;
- virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
- size_t __mx) const;
- virtual int do_max_length() const _NOEXCEPT;
-};
-
-_LIBCPP_SUPPRESS_DEPRECATED_PUSH
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf16<char32_t, false>
- : public codecvt<char32_t, char, mbstate_t>
-{
- unsigned long _Maxcode_;
- codecvt_mode _Mode_;
-public:
- typedef char32_t intern_type;
- typedef char extern_type;
- typedef mbstate_t state_type;
-
- _LIBCPP_INLINE_VISIBILITY
- explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
- codecvt_mode _Mode)
- : codecvt<char32_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
- _Mode_(_Mode) {}
-_LIBCPP_SUPPRESS_DEPRECATED_POP
-
-protected:
- virtual result
- do_out(state_type& __st,
- const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual result
- do_in(state_type& __st,
- const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
- intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
- virtual result
- do_unshift(state_type& __st,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual int do_encoding() const _NOEXCEPT;
- virtual bool do_always_noconv() const _NOEXCEPT;
- virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
- size_t __mx) const;
- virtual int do_max_length() const _NOEXCEPT;
-};
-
-_LIBCPP_SUPPRESS_DEPRECATED_PUSH
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf16<char32_t, true>
- : public codecvt<char32_t, char, mbstate_t>
-{
- unsigned long _Maxcode_;
- codecvt_mode _Mode_;
-public:
- typedef char32_t intern_type;
- typedef char extern_type;
- typedef mbstate_t state_type;
-
- _LIBCPP_INLINE_VISIBILITY
- explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
- codecvt_mode _Mode)
- : codecvt<char32_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
- _Mode_(_Mode) {}
-_LIBCPP_SUPPRESS_DEPRECATED_POP
-
-protected:
- virtual result
- do_out(state_type& __st,
- const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual result
- do_in(state_type& __st,
- const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
- intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
- virtual result
- do_unshift(state_type& __st,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual int do_encoding() const _NOEXCEPT;
- virtual bool do_always_noconv() const _NOEXCEPT;
- virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
- size_t __mx) const;
- virtual int do_max_length() const _NOEXCEPT;
-};
-
-template <class _Elem, unsigned long _Maxcode = 0x10ffff,
- codecvt_mode _Mode = (codecvt_mode)0>
-class _LIBCPP_TEMPLATE_VIS codecvt_utf16
- : public __codecvt_utf16<_Elem, _Mode & little_endian>
-{
-public:
- _LIBCPP_INLINE_VISIBILITY
- explicit codecvt_utf16(size_t __refs = 0)
- : __codecvt_utf16<_Elem, _Mode & little_endian>(__refs, _Maxcode, _Mode) {}
-
- _LIBCPP_INLINE_VISIBILITY
- ~codecvt_utf16() {}
-};
-
-// codecvt_utf8_utf16
-
-template <class _Elem> class __codecvt_utf8_utf16;
-
-#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf8_utf16<wchar_t>
- : public codecvt<wchar_t, char, mbstate_t>
-{
- unsigned long _Maxcode_;
- codecvt_mode _Mode_;
-public:
- typedef wchar_t intern_type;
- typedef char extern_type;
- typedef mbstate_t state_type;
-
- _LIBCPP_INLINE_VISIBILITY
- explicit __codecvt_utf8_utf16(size_t __refs, unsigned long _Maxcode,
- codecvt_mode _Mode)
- : codecvt<wchar_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
- _Mode_(_Mode) {}
-protected:
- virtual result
- do_out(state_type& __st,
- const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual result
- do_in(state_type& __st,
- const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
- intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
- virtual result
- do_unshift(state_type& __st,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual int do_encoding() const _NOEXCEPT;
- virtual bool do_always_noconv() const _NOEXCEPT;
- virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
- size_t __mx) const;
- virtual int do_max_length() const _NOEXCEPT;
-};
-#endif // _LIBCPP_HAS_NO_WIDE_CHARACTERS
-
-_LIBCPP_SUPPRESS_DEPRECATED_PUSH
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf8_utf16<char32_t>
- : public codecvt<char32_t, char, mbstate_t>
-{
- unsigned long _Maxcode_;
- codecvt_mode _Mode_;
-public:
- typedef char32_t intern_type;
- typedef char extern_type;
- typedef mbstate_t state_type;
-
- _LIBCPP_INLINE_VISIBILITY
- explicit __codecvt_utf8_utf16(size_t __refs, unsigned long _Maxcode,
- codecvt_mode _Mode)
- : codecvt<char32_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
- _Mode_(_Mode) {}
-_LIBCPP_SUPPRESS_DEPRECATED_POP
-
-protected:
- virtual result
- do_out(state_type& __st,
- const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual result
- do_in(state_type& __st,
- const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
- intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
- virtual result
- do_unshift(state_type& __st,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual int do_encoding() const _NOEXCEPT;
- virtual bool do_always_noconv() const _NOEXCEPT;
- virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
- size_t __mx) const;
- virtual int do_max_length() const _NOEXCEPT;
-};
-
-_LIBCPP_SUPPRESS_DEPRECATED_PUSH
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf8_utf16<char16_t>
- : public codecvt<char16_t, char, mbstate_t>
-{
- unsigned long _Maxcode_;
- codecvt_mode _Mode_;
-public:
- typedef char16_t intern_type;
- typedef char extern_type;
- typedef mbstate_t state_type;
-
- _LIBCPP_INLINE_VISIBILITY
- explicit __codecvt_utf8_utf16(size_t __refs, unsigned long _Maxcode,
- codecvt_mode _Mode)
- : codecvt<char16_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
- _Mode_(_Mode) {}
-_LIBCPP_SUPPRESS_DEPRECATED_POP
-
-protected:
- virtual result
- do_out(state_type& __st,
- const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual result
- do_in(state_type& __st,
- const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
- intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
- virtual result
- do_unshift(state_type& __st,
- extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
- virtual int do_encoding() const _NOEXCEPT;
- virtual bool do_always_noconv() const _NOEXCEPT;
- virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
- size_t __mx) const;
- virtual int do_max_length() const _NOEXCEPT;
-};
-
-template <class _Elem, unsigned long _Maxcode = 0x10ffff,
- codecvt_mode _Mode = (codecvt_mode)0>
-class _LIBCPP_TEMPLATE_VIS codecvt_utf8_utf16
- : public __codecvt_utf8_utf16<_Elem>
-{
-public:
- _LIBCPP_INLINE_VISIBILITY
- explicit codecvt_utf8_utf16(size_t __refs = 0)
- : __codecvt_utf8_utf16<_Elem>(__refs, _Maxcode, _Mode) {}
-
- _LIBCPP_INLINE_VISIBILITY
- ~codecvt_utf8_utf16() {}
-};
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // _LIBCPP_CODECVT
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef _LIBCPP_CODECVT
+#define _LIBCPP_CODECVT
+
+/*
+ codecvt synopsis
+
+namespace std
+{
+
+enum codecvt_mode
+{
+ consume_header = 4,
+ generate_header = 2,
+ little_endian = 1
+};
+
+template <class Elem, unsigned long Maxcode = 0x10ffff,
+ codecvt_mode Mode = (codecvt_mode)0>
+class codecvt_utf8
+ : public codecvt<Elem, char, mbstate_t>
+{
+ explicit codecvt_utf8(size_t refs = 0);
+ ~codecvt_utf8();
+};
+
+template <class Elem, unsigned long Maxcode = 0x10ffff,
+ codecvt_mode Mode = (codecvt_mode)0>
+class codecvt_utf16
+ : public codecvt<Elem, char, mbstate_t>
+{
+ explicit codecvt_utf16(size_t refs = 0);
+ ~codecvt_utf16();
+};
+
+template <class Elem, unsigned long Maxcode = 0x10ffff,
+ codecvt_mode Mode = (codecvt_mode)0>
+class codecvt_utf8_utf16
+ : public codecvt<Elem, char, mbstate_t>
+{
+ explicit codecvt_utf8_utf16(size_t refs = 0);
+ ~codecvt_utf8_utf16();
+};
+
+} // std
+
+*/
+
+#include <__config>
+#include <__locale>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+#pragma GCC system_header
+#endif
+
+_LIBCPP_BEGIN_NAMESPACE_STD
+
+enum codecvt_mode
+{
+ consume_header = 4,
+ generate_header = 2,
+ little_endian = 1
+};
+
+// codecvt_utf8
+
+template <class _Elem> class __codecvt_utf8;
+
+#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
+template <>
+class _LIBCPP_TYPE_VIS __codecvt_utf8<wchar_t>
+ : public codecvt<wchar_t, char, mbstate_t>
+{
+ unsigned long _Maxcode_;
+ codecvt_mode _Mode_;
+public:
+ typedef wchar_t intern_type;
+ typedef char extern_type;
+ typedef mbstate_t state_type;
+
+ _LIBCPP_INLINE_VISIBILITY
+ explicit __codecvt_utf8(size_t __refs, unsigned long _Maxcode,
+ codecvt_mode _Mode)
+ : codecvt<wchar_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
+ _Mode_(_Mode) {}
+protected:
+ virtual result
+ do_out(state_type& __st,
+ const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual result
+ do_in(state_type& __st,
+ const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
+ intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
+ virtual result
+ do_unshift(state_type& __st,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual int do_encoding() const _NOEXCEPT;
+ virtual bool do_always_noconv() const _NOEXCEPT;
+ virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
+ size_t __mx) const;
+ virtual int do_max_length() const _NOEXCEPT;
+};
+#endif // _LIBCPP_HAS_NO_WIDE_CHARACTERS
+
+_LIBCPP_SUPPRESS_DEPRECATED_PUSH
+template <>
+class _LIBCPP_TYPE_VIS __codecvt_utf8<char16_t>
+ : public codecvt<char16_t, char, mbstate_t>
+{
+ unsigned long _Maxcode_;
+ codecvt_mode _Mode_;
+public:
+ typedef char16_t intern_type;
+ typedef char extern_type;
+ typedef mbstate_t state_type;
+
+ _LIBCPP_INLINE_VISIBILITY
+ explicit __codecvt_utf8(size_t __refs, unsigned long _Maxcode,
+ codecvt_mode _Mode)
+ : codecvt<char16_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
+ _Mode_(_Mode) {}
+_LIBCPP_SUPPRESS_DEPRECATED_POP
+
+protected:
+ virtual result
+ do_out(state_type& __st,
+ const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual result
+ do_in(state_type& __st,
+ const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
+ intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
+ virtual result
+ do_unshift(state_type& __st,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual int do_encoding() const _NOEXCEPT;
+ virtual bool do_always_noconv() const _NOEXCEPT;
+ virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
+ size_t __mx) const;
+ virtual int do_max_length() const _NOEXCEPT;
+};
+
+_LIBCPP_SUPPRESS_DEPRECATED_PUSH
+template <>
+class _LIBCPP_TYPE_VIS __codecvt_utf8<char32_t>
+ : public codecvt<char32_t, char, mbstate_t>
+{
+ unsigned long _Maxcode_;
+ codecvt_mode _Mode_;
+public:
+ typedef char32_t intern_type;
+ typedef char extern_type;
+ typedef mbstate_t state_type;
+
+ _LIBCPP_INLINE_VISIBILITY
+ explicit __codecvt_utf8(size_t __refs, unsigned long _Maxcode,
+ codecvt_mode _Mode)
+ : codecvt<char32_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
+ _Mode_(_Mode) {}
+_LIBCPP_SUPPRESS_DEPRECATED_POP
+
+protected:
+ virtual result
+ do_out(state_type& __st,
+ const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual result
+ do_in(state_type& __st,
+ const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
+ intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
+ virtual result
+ do_unshift(state_type& __st,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual int do_encoding() const _NOEXCEPT;
+ virtual bool do_always_noconv() const _NOEXCEPT;
+ virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
+ size_t __mx) const;
+ virtual int do_max_length() const _NOEXCEPT;
+};
+
+template <class _Elem, unsigned long _Maxcode = 0x10ffff,
+ codecvt_mode _Mode = (codecvt_mode)0>
+class _LIBCPP_TEMPLATE_VIS codecvt_utf8
+ : public __codecvt_utf8<_Elem>
+{
+public:
+ _LIBCPP_INLINE_VISIBILITY
+ explicit codecvt_utf8(size_t __refs = 0)
+ : __codecvt_utf8<_Elem>(__refs, _Maxcode, _Mode) {}
+
+ _LIBCPP_INLINE_VISIBILITY
+ ~codecvt_utf8() {}
+};
+
+// codecvt_utf16
+
+template <class _Elem, bool _LittleEndian> class __codecvt_utf16;
+
+#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
+template <>
+class _LIBCPP_TYPE_VIS __codecvt_utf16<wchar_t, false>
+ : public codecvt<wchar_t, char, mbstate_t>
+{
+ unsigned long _Maxcode_;
+ codecvt_mode _Mode_;
+public:
+ typedef wchar_t intern_type;
+ typedef char extern_type;
+ typedef mbstate_t state_type;
+
+ _LIBCPP_INLINE_VISIBILITY
+ explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
+ codecvt_mode _Mode)
+ : codecvt<wchar_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
+ _Mode_(_Mode) {}
+protected:
+ virtual result
+ do_out(state_type& __st,
+ const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual result
+ do_in(state_type& __st,
+ const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
+ intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
+ virtual result
+ do_unshift(state_type& __st,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual int do_encoding() const _NOEXCEPT;
+ virtual bool do_always_noconv() const _NOEXCEPT;
+ virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
+ size_t __mx) const;
+ virtual int do_max_length() const _NOEXCEPT;
+};
+
+template <>
+class _LIBCPP_TYPE_VIS __codecvt_utf16<wchar_t, true>
+ : public codecvt<wchar_t, char, mbstate_t>
+{
+ unsigned long _Maxcode_;
+ codecvt_mode _Mode_;
+public:
+ typedef wchar_t intern_type;
+ typedef char extern_type;
+ typedef mbstate_t state_type;
+
+ _LIBCPP_INLINE_VISIBILITY
+ explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
+ codecvt_mode _Mode)
+ : codecvt<wchar_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
+ _Mode_(_Mode) {}
+protected:
+ virtual result
+ do_out(state_type& __st,
+ const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual result
+ do_in(state_type& __st,
+ const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
+ intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
+ virtual result
+ do_unshift(state_type& __st,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual int do_encoding() const _NOEXCEPT;
+ virtual bool do_always_noconv() const _NOEXCEPT;
+ virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
+ size_t __mx) const;
+ virtual int do_max_length() const _NOEXCEPT;
+};
+#endif // _LIBCPP_HAS_NO_WIDE_CHARACTERS
+
+_LIBCPP_SUPPRESS_DEPRECATED_PUSH
+template <>
+class _LIBCPP_TYPE_VIS __codecvt_utf16<char16_t, false>
+ : public codecvt<char16_t, char, mbstate_t>
+{
+ unsigned long _Maxcode_;
+ codecvt_mode _Mode_;
+public:
+ typedef char16_t intern_type;
+ typedef char extern_type;
+ typedef mbstate_t state_type;
+
+ _LIBCPP_INLINE_VISIBILITY
+ explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
+ codecvt_mode _Mode)
+ : codecvt<char16_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
+ _Mode_(_Mode) {}
+_LIBCPP_SUPPRESS_DEPRECATED_POP
+
+protected:
+ virtual result
+ do_out(state_type& __st,
+ const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual result
+ do_in(state_type& __st,
+ const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
+ intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
+ virtual result
+ do_unshift(state_type& __st,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual int do_encoding() const _NOEXCEPT;
+ virtual bool do_always_noconv() const _NOEXCEPT;
+ virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
+ size_t __mx) const;
+ virtual int do_max_length() const _NOEXCEPT;
+};
+
+_LIBCPP_SUPPRESS_DEPRECATED_PUSH
+template <>
+class _LIBCPP_TYPE_VIS __codecvt_utf16<char16_t, true>
+ : public codecvt<char16_t, char, mbstate_t>
+{
+ unsigned long _Maxcode_;
+ codecvt_mode _Mode_;
+public:
+ typedef char16_t intern_type;
+ typedef char extern_type;
+ typedef mbstate_t state_type;
+
+ _LIBCPP_INLINE_VISIBILITY
+ explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
+ codecvt_mode _Mode)
+ : codecvt<char16_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
+ _Mode_(_Mode) {}
+_LIBCPP_SUPPRESS_DEPRECATED_POP
+
+protected:
+ virtual result
+ do_out(state_type& __st,
+ const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual result
+ do_in(state_type& __st,
+ const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
+ intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
+ virtual result
+ do_unshift(state_type& __st,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual int do_encoding() const _NOEXCEPT;
+ virtual bool do_always_noconv() const _NOEXCEPT;
+ virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
+ size_t __mx) const;
+ virtual int do_max_length() const _NOEXCEPT;
+};
+
+_LIBCPP_SUPPRESS_DEPRECATED_PUSH
+template <>
+class _LIBCPP_TYPE_VIS __codecvt_utf16<char32_t, false>
+ : public codecvt<char32_t, char, mbstate_t>
+{
+ unsigned long _Maxcode_;
+ codecvt_mode _Mode_;
+public:
+ typedef char32_t intern_type;
+ typedef char extern_type;
+ typedef mbstate_t state_type;
+
+ _LIBCPP_INLINE_VISIBILITY
+ explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
+ codecvt_mode _Mode)
+ : codecvt<char32_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
+ _Mode_(_Mode) {}
+_LIBCPP_SUPPRESS_DEPRECATED_POP
+
+protected:
+ virtual result
+ do_out(state_type& __st,
+ const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual result
+ do_in(state_type& __st,
+ const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
+ intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
+ virtual result
+ do_unshift(state_type& __st,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual int do_encoding() const _NOEXCEPT;
+ virtual bool do_always_noconv() const _NOEXCEPT;
+ virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
+ size_t __mx) const;
+ virtual int do_max_length() const _NOEXCEPT;
+};
+
+_LIBCPP_SUPPRESS_DEPRECATED_PUSH
+template <>
+class _LIBCPP_TYPE_VIS __codecvt_utf16<char32_t, true>
+ : public codecvt<char32_t, char, mbstate_t>
+{
+ unsigned long _Maxcode_;
+ codecvt_mode _Mode_;
+public:
+ typedef char32_t intern_type;
+ typedef char extern_type;
+ typedef mbstate_t state_type;
+
+ _LIBCPP_INLINE_VISIBILITY
+ explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
+ codecvt_mode _Mode)
+ : codecvt<char32_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
+ _Mode_(_Mode) {}
+_LIBCPP_SUPPRESS_DEPRECATED_POP
+
+protected:
+ virtual result
+ do_out(state_type& __st,
+ const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual result
+ do_in(state_type& __st,
+ const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
+ intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
+ virtual result
+ do_unshift(state_type& __st,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual int do_encoding() const _NOEXCEPT;
+ virtual bool do_always_noconv() const _NOEXCEPT;
+ virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
+ size_t __mx) const;
+ virtual int do_max_length() const _NOEXCEPT;
+};
+
+template <class _Elem, unsigned long _Maxcode = 0x10ffff,
+ codecvt_mode _Mode = (codecvt_mode)0>
+class _LIBCPP_TEMPLATE_VIS codecvt_utf16
+ : public __codecvt_utf16<_Elem, _Mode & little_endian>
+{
+public:
+ _LIBCPP_INLINE_VISIBILITY
+ explicit codecvt_utf16(size_t __refs = 0)
+ : __codecvt_utf16<_Elem, _Mode & little_endian>(__refs, _Maxcode, _Mode) {}
+
+ _LIBCPP_INLINE_VISIBILITY
+ ~codecvt_utf16() {}
+};
+
+// codecvt_utf8_utf16
+
+template <class _Elem> class __codecvt_utf8_utf16;
+
+#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
+template <>
+class _LIBCPP_TYPE_VIS __codecvt_utf8_utf16<wchar_t>
+ : public codecvt<wchar_t, char, mbstate_t>
+{
+ unsigned long _Maxcode_;
+ codecvt_mode _Mode_;
+public:
+ typedef wchar_t intern_type;
+ typedef char extern_type;
+ typedef mbstate_t state_type;
+
+ _LIBCPP_INLINE_VISIBILITY
+ explicit __codecvt_utf8_utf16(size_t __refs, unsigned long _Maxcode,
+ codecvt_mode _Mode)
+ : codecvt<wchar_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
+ _Mode_(_Mode) {}
+protected:
+ virtual result
+ do_out(state_type& __st,
+ const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual result
+ do_in(state_type& __st,
+ const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
+ intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
+ virtual result
+ do_unshift(state_type& __st,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual int do_encoding() const _NOEXCEPT;
+ virtual bool do_always_noconv() const _NOEXCEPT;
+ virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
+ size_t __mx) const;
+ virtual int do_max_length() const _NOEXCEPT;
+};
+#endif // _LIBCPP_HAS_NO_WIDE_CHARACTERS
+
+_LIBCPP_SUPPRESS_DEPRECATED_PUSH
+template <>
+class _LIBCPP_TYPE_VIS __codecvt_utf8_utf16<char32_t>
+ : public codecvt<char32_t, char, mbstate_t>
+{
+ unsigned long _Maxcode_;
+ codecvt_mode _Mode_;
+public:
+ typedef char32_t intern_type;
+ typedef char extern_type;
+ typedef mbstate_t state_type;
+
+ _LIBCPP_INLINE_VISIBILITY
+ explicit __codecvt_utf8_utf16(size_t __refs, unsigned long _Maxcode,
+ codecvt_mode _Mode)
+ : codecvt<char32_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
+ _Mode_(_Mode) {}
+_LIBCPP_SUPPRESS_DEPRECATED_POP
+
+protected:
+ virtual result
+ do_out(state_type& __st,
+ const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual result
+ do_in(state_type& __st,
+ const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
+ intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
+ virtual result
+ do_unshift(state_type& __st,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual int do_encoding() const _NOEXCEPT;
+ virtual bool do_always_noconv() const _NOEXCEPT;
+ virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
+ size_t __mx) const;
+ virtual int do_max_length() const _NOEXCEPT;
+};
+
+_LIBCPP_SUPPRESS_DEPRECATED_PUSH
+template <>
+class _LIBCPP_TYPE_VIS __codecvt_utf8_utf16<char16_t>
+ : public codecvt<char16_t, char, mbstate_t>
+{
+ unsigned long _Maxcode_;
+ codecvt_mode _Mode_;
+public:
+ typedef char16_t intern_type;
+ typedef char extern_type;
+ typedef mbstate_t state_type;
+
+ _LIBCPP_INLINE_VISIBILITY
+ explicit __codecvt_utf8_utf16(size_t __refs, unsigned long _Maxcode,
+ codecvt_mode _Mode)
+ : codecvt<char16_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
+ _Mode_(_Mode) {}
+_LIBCPP_SUPPRESS_DEPRECATED_POP
+
+protected:
+ virtual result
+ do_out(state_type& __st,
+ const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual result
+ do_in(state_type& __st,
+ const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
+ intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
+ virtual result
+ do_unshift(state_type& __st,
+ extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
+ virtual int do_encoding() const _NOEXCEPT;
+ virtual bool do_always_noconv() const _NOEXCEPT;
+ virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
+ size_t __mx) const;
+ virtual int do_max_length() const _NOEXCEPT;
+};
+
+template <class _Elem, unsigned long _Maxcode = 0x10ffff,
+ codecvt_mode _Mode = (codecvt_mode)0>
+class _LIBCPP_TEMPLATE_VIS codecvt_utf8_utf16
+ : public __codecvt_utf8_utf16<_Elem>
+{
+public:
+ _LIBCPP_INLINE_VISIBILITY
+ explicit codecvt_utf8_utf16(size_t __refs = 0)
+ : __codecvt_utf8_utf16<_Elem>(__refs, _Maxcode, _Mode) {}
+
+ _LIBCPP_INLINE_VISIBILITY
+ ~codecvt_utf8_utf16() {}
+};
+
+_LIBCPP_END_NAMESPACE_STD
+
+#endif // _LIBCPP_CODECVT