public member function
<locale>

std::codecvt::encoding

int encoding() const throw();
int encoding() const noexcept;
Return encoding width
Returns the width of an internal character in terms of external characters, if this is a fixed value.

Otherwise, if this is a variable value, the function returns 0.

Alternatively, if the encoding of an external sequence is state-dependent, the function returns -1.

Internally, this function simply calls the virtual protected member do_encoding, which behaves as described above by default.

Parameters

none

Return value

One of the following, describing how external characters are encoded:
valueinterpretation
0Characters have a variable width, each with a maximum length of max_length.
-1Encoding is state-dependent, possibly with additional shift codes beyond max_length per character.
other valuesFixed amount of external characters equivalent to one internal character

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// codecvt::encoding example
#include <iostream>       // std::cout
#include <locale>         // std::locale, std::codecvt, std::use_facet

int main ()
{
  std::locale loc;

  const std::codecvt<wchar_t,char,mbstate_t>& myfacet = 
    std::use_facet<std::codecvt<wchar_t,char,mbstate_t> >(loc);

  std::cout << "Characteristics of codecvt<wchar_t,char,mbstate_t>:\n";
  std::cout << "Encoding: " << myfacet.encoding() << '\n';
  std::cout << "Always noconv: " << myfacet.always_noconv() << '\n';
  std::cout << "Max length: " << myfacet.max_length() << '\n';
  return 0;
}

Possible output:

Characteristics of codecvt<wchar_t,char,mbstate_t>:
Encoding: 0
Always noconv: 0
Max length: 5


Data races

The facet object is accessed.

Exception safety

No-throw guarantee: never throws exceptions.

See also