Standard C++ Library Reference ISO/IEC (VERSION3)

const char *first, const char *last) const;
char toupper(char ch) const;
const char *toupper(char *first, char *last) const;
char tolower(char ch) const;
const char *tolower(char *first, char *last) const;
char widen(char byte) const;
const char *widen(char *first, char *last,
char *dest) const;
char narrow(char ch, char dflt) const;
const char *narrow(const char *first,
const char *last, char dflt, char *dest) const;
static locale::id id;
protected:
~ctype();
virtual char do_toupper(char ch) const;
virtual const char *do_toupper(char *first,
char *last) const;
virtual char do_tolower(char ch) const;
virtual const char *do_tolower(char *first,
char *last) const;
virtual char do_widen(char ch) const;
virtual const char *do_widen(char *first, char *last,
char *dest) const;
virtual char do_narrow(char ch, char dflt) const;
virtual const char *do_narrow(const char *first,
const char *last, char dflt, char *dest) const;
const mask *table() const throw();
static const mask *classic_table() const throw();
static const size_t table_size;
};
The class is an explicit specialization of template class ctype for type char. Hence, it describes an object that can serve
as a locale facet, to characterize various properties of a ``character'' (element) of type char. The explicit specialization
differs from the template class in several ways:
An object of class ctype<char> stores a pointer to the first element of a ctype mask table, an array of
UCHAR_MAX + 1 elements of type ctype_base::mask. It also stores a boolean object that indicates whether
the array should be deleted (using operator delete[]) when the ctype<Elem> object is destroyed.
Its sole public constructor lets you specify tab, the ctype mask table, and del, the boolean object that is true if
the array should be deleted when the ctype<char> object is destroyed -- as well as the usual reference-count
parameter refs.
The protected member function table() returns the stored ctype mask table.
The static member object table_size specifies the minimum number of elements in a ctype mask table.
The protected static member function classic_table() returns the ctype mask table appropriate to the "C"
locale.
There are no protected virtual member functions do_is, do_scan_is, or do_scan_not. The corresponding
public member functions perform the equivalent operations themselves.
The member functions do_narrow and do_widen simply copy elements unaltered.