public member function
std::codecvt::encoding
<locale>
int encoding() const throw();
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.
During its operation, this function simply calls the virtual protected member
codecvt::do_encoding, which is the member function in charge of performing the actions described above.
Parameters
none
Return value
One of the following, describing how external characters are encoded:
| value | interpretation |
| -1 | Encoding is state-dependent |
| 0 | Characters have a variable width |
| other values | Fixed 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 18
|
// codecvt::encoding example
#include <iostream>
#include <locale>
using namespace std;
int main ()
{
locale loc;
const codecvt<wchar_t,char,mbstate_t>& myfacet =
use_facet<codecvt<wchar_t,char,mbstate_t> >(loc);
cout << "Characteristics of codecvt<wchar_t,char,mbstate_t>:" << endl;
cout << "Encoding: " << myfacet.encoding() << endl;
cout << "Always noconv: " << myfacet.always_noconv() << endl;
cout << "Max length: " << myfacet.max_length() << endl;
return 0;
}
|
Possible output:
Characteristics of codecvt<wchar_t,char,mbstate_t>:
Encoding: 1
Always noconv: 0
Max length: 5
|
See also
- codecvt::length
- Return length of translated sequence (public member function)
- codecvt::max_length
- Return max length of one character (public member function)
- codecvt::do_encoding
- Return encoding width [virtual] (protected virtual member function)