Namespaces
Variants

Standard library header <codecvt> (C++11) (deprecated in C++17) (removed in C++26)

From cppreference.net
Standard library headers

Cet en-tête fait partie de la bibliothèque de traitement de texte .

Table des matières

Classes

(C++11) (obsolète en C++17) (supprimé en C++26)
convertit entre UTF-8 et UCS-2/UCS-4
(modèle de classe)
(C++11) (obsolète en C++17) (supprimé en C++26)
convertit entre UTF-16 et UCS-2/UCS-4
(modèle de classe)
(C++11) (obsolète en C++17) (supprimé en C++26)
convertit entre UTF-8 et UTF-16
(modèle de classe)
(C++11) (obsolète en C++17) (supprimé en C++26)
balises pour modifier le comportement des facettes codecvt standard
(énumération)

Notes

<codecvt> est déprécié en C++17 et supprimé en C++26 (voir P2871R3 ).

La raison de la suppression est que cette fonctionnalité n'implémente plus le Standard Unicode actuel, ne prenant en charge que l'encodage UCS-2 obsolète.

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;
}

Classe 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();
    };
}

Classe 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();
    };
}

Classe 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();
    };
}