Standard library header  (C++11)(deprecated in C++17)(removed in C++26) (original) (raw)

This header is part of the text processing library.

[edit] Notes

<codecvt> is deprecated in C++17 and removed in C++26 (see P2871R3).

The reason for removal is that this feature no longer implements the current Unicode Standard, supporting only the obsolete UCS-2 encoding.

[edit] 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;   template<class Elem, unsigned long Maxcode = 0x10ffff, codecvt_mode Mode = (codecvt_mode)0> class codecvt_utf16;   template<class Elem, unsigned long Maxcode = 0x10ffff, codecvt_mode Mode = (codecvt_mode)0> class codecvt_utf8_utf16; }

[edit] Class std::codecvt_utf8

namespace std { template<class Elem, unsigned long Maxcode = 0x10ffff, codecvt_mode Mode = (codecvt_mode)0> class codecvt_utf8 : public codecvt<Elem, char, mbstate_t> { public: explicit codecvt_utf8(size_t refs = 0); ~codecvt_utf8(); }; }

[edit] Class std::codecvt_utf16

namespace std { template<class Elem, unsigned long Maxcode = 0x10ffff, codecvt_mode Mode = (codecvt_mode)0> class codecvt_utf16 : public codecvt<Elem, char, mbstate_t> { public: explicit codecvt_utf16(size_t refs = 0); ~codecvt_utf16(); }; }

[edit] Class std::codecvt_utf8_utf16

namespace std { template<class Elem, unsigned long Maxcode = 0x10ffff, codecvt_mode Mode = (codecvt_mode)0> class codecvt_utf8_utf16 : public codecvt<Elem, char, mbstate_t> { public: explicit codecvt_utf8_utf16(size_t refs = 0); ~codecvt_utf8_utf16(); }; }