## codecvt_byname

                                       ...codecvt_base
    codecvt_byname code_cvt ...
                                       ...locale::facet

- Summary
- Data Type and Member Function Indexes
- Synopsis
- Description
- Interface
- Constructors
- See Also

### Summary

A facet that includes code set conversion classification facilities based on the named locales.

### Data Type and Member Function Indexes
(exclusive of constructors and destructors)

None

### Synopsis

    #include <locale>
    template <class charT> class codecvt_byname;

### Description

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.

### Interface

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

### Constructors

    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.

### See Also

locale, facets, codecvt

Copyright (c) 1998, Rogue Wave Software, Inc.
Send mail to report errors or comment on the documentation.
OEM Release, June 1998