Man Page ctype_byname.3



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



NAME

     ctype_byname

      - A facet that includes character classification facilities
     based on the named locales.





SYNOPSIS

     #include <locale>
     template <class charT> class ctype_byname;
     template <> class ctype_byname<char>;





DESCRIPTION

     ctype_byname<charT> template and ctype_byname<char> special-
     ization  include the same functions as the ctype<charT> tem-
     plate, but specific to a  particular  named  locale.  For  a
     description of the member functions of ctype_byname, see the
     reference  for  ctype<charT>.  Only   the   constructor   is
     described here.





INTERFACE

     template <class charT>
     class ctype_byname : public ctype<charT> {
     public:
      explicit ctype_byname(const char*, size_t = 0);
     protected:
       ~ctype_byname();  // virtual
      virtual bool         do_is(mask, charT) const;
      virtual const charT* do_is(const charT*, const charT*,
                                 mask*) const;
      virtual const char*  do_scan_is(mask,
                                      const charT*,
                                      const charT*) const;
      virtual const char*  do_scan_not(mask,
                                       const charT*,
                                       const charT*) const;
      virtual charT        do_toupper(charT) const;
      virtual const charT* do_toupper(charT*,
                                      const charT*) const;
      virtual charT        do_tolower(charT) const;
      virtual const charT* do_tolower(charT*,
                                      const charT*) const;
      virtual charT        do_widen(char) const;
      virtual const char*  do_widen(const char*, const char*,
                                    charT*) const;
      virtual char         do_narrow(charT, char) const;

      virtual const charT* do_narrow(const charT*, const charT*,
                                     char, char*) const;
     };

     class ctype_byname<char> : public ctype<char> {
     public:
      explicit ctype_byname(const char*, size_t = 0);
     protected:
       ~ctype_byname();  // virtual
      virtual char        do_toupper(char) const;
      virtual const char* do_toupper(char*, const char*) const;
      virtual char        do_tolower(char) const;
      virtual const char* do_tolower(char*, const char*) const;
     };





CONSTRUCTORS

     explicit ctype_byname(const char* name, size_t refs = 0);


        Constructs a ctype_byname  facet.  The  facet  classifies
        characters  relative to the named locale specified by the
        name argument. If the refs argument is 0,  then  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, then the object must be explicitly deleted; the locale
        does not do so.






SEE ALSO

     locale, facets, collate, ctype, ctype_byname