class template
<locale>

std::codecvt_byname

template <class internT, class externT, class stateT> class codecvt_byname;
Convert codeset facet

The codecvt_byname standard facet overrides codecvt virtual members to implement its semantics for particular named locales.

Its public interface is the same as codecvt's, except that its constructor takes an additional std_name argument:

1
explicit codecvt_byname (const char* std_name, size_t refs = 0);
1
2
explicit codecvt_byname (const char* std_name, size_t refs = 0);
explicit codecvt_byname (const string& std_name, size_t refs = 0);

Where std_name is the name of a C locale. The C locales available depend on the system and library implementation, but at least the following are guaranteed to exist on all implementations:
locale namedescription
"C"Minimal "C" locale (the same as locale::classic)
""The environment's default locale

Specializations

At least the following specializations of this template are provided in all library implementations:
specialization
codecvt_byname<char,char,mbstate_t>
codecvt_byname<wchar_t,char,mbstate_t>
specialization
codecvt_byname<char,char,mbstate_t>
codecvt_byname<wchar_t,char,mbstate_t>
codecvt_byname<char16_t,char,mbstate_t>
codecvt_byname<char32_t,char,mbstate_t>