Standard C++ Library Reference ISO/IEC (VERSION3)
ctype_base
class ctype_base {
public:
enum mask {
space = 1 << 0, // EXAMPLE VALUES ONLY
print = 1 << 1,
cntrl = 1 << 2,
upper = 1 << 3,
lower = 1 << 4,
digit = 1 << 5,
punct = 1 << 6,
xdigit = 1 << 7,
alpha = 1 << 8,
alnum = 0x9 << 5,
graph = 0xB << 5};
The class serves as a base class for facets of template class ctype. It defines just the enumeration mask. Each of the
enumeration constants characterizes a different way to classify characters, as defined by the functions with similar names
declared in the header <ctype.h>. The constants are:
space (function isspace)●
print (function isprint)●
cntrl (function iscntrl)●
upper (function isupper)●
lower (function islower)●
digit (function isdigit)●
punct (function ispunct)●
xdigit (function isxdigit)●
alpha (function isalpha)●
alnum (function isalnum)●
graph (function isgraph)●
You can charaterize a combination of classifications by ORing these constants. In particular, it is always true that
alnum == (alpha | digit) and graph == (alnum | punct).
ctype_byname
template<class Elem>
class ctype_byname : public ctype<Elem> {
public:
explicit ctype_byname(const char *locname,
size_t refs = 0);
protected:
~ctype_byname();
};
The template class describes an object that can serve as a locale facet of type ctype<Elem>. Its behavior is determined
by the named locale locname. The constructor initializes its base object with ctype<Elem>(refs) (or the
equivalent for base class ctype<char>).