Man Page codecvt_byname.3



                       Standard C++ Library
             Copyright 1998, Rogue Wave Software, Inc.



NAME

     codecvt_byname

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





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 con-
     structor 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, destruc-
        tion  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