...codecvt_base codecvt_byname code_cvt ... ...locale::facet
A facet that includes code set conversion classification facilities based on the named locales.
None
#include <locale> template <class charT> class codecvt_byname;
The codecvt_byname template includes the same functionality as the codecvt template, but specific to a particular named locale. For a description of the member functions of codecvt_byname, see the reference for codecvt. Only the constructor is described here.
template <class fromT, class toT, class stateT> class codecvt_byname : public codecvt<fromT, toT, stateT> { public: explicit codecvt_byname(const char*, size_t refs = 0); protected: ~codecvt_byname(); // virtual virtual result do_out(stateT&, const internT*, const internT*, const internT*&, externT*, externT*, externT*&) const; virtual result do_in(stateT&, const externT*, const externT*, const externT*&, internT*, internT*, internT*&) const; virtual result do_unshift(stateT&, externT*, externT*, externT*&) const; virtual bool do_always_noconv() const throw(); virtual int do_length(const stateT&, const externT*, const externT*, size_t max) const; virtual int do_max_length() const throw(); virtual int do_encoding() const throw(); };
explicit codecvt_byname(const char* name, size_t refs = 0);
Construct a codecvt_byname facet. The facet provides codeset conversion relative to the named locale specified by the name argument. If the refs argument is 0, destruction of the object is delegated to the locale, or locales, containing it. This allows the user to ignore lifetime management issues. On the other hand, if refs is 1, the object must be explicitly deleted: the locale does not do so.