Standard library header <codecvt>
From cppreference.com
                    
                                        
                    
                    
                                                            
                    This header is part of the Localization library.
 
 Classes | 
||
|    (C++11) 
 | 
   converts between UTF-8 and UCS2/UCS4   (class template)  | 
|
|    (C++11) 
 | 
   converts between UTF-16 and UCS2/UCS4   (class template)  | 
|
|    (C++11) 
 | 
   converts between UTF-8 and UTF-16   (class template)  | 
|
|    (C++11) 
 | 
   tags to alter behavior of the standard codecvt facets  (enum)  | 
|
[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
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
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
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(); };