2001-09-30 10:30:14 +00:00
|
|
|
<html>
|
2000-09-26 11:48:28 +00:00
|
|
|
|
2001-09-30 10:30:14 +00:00
|
|
|
<head>
|
|
|
|
<meta http-equiv="Content-Type"
|
|
|
|
content="text/html; charset=iso-8859-1">
|
|
|
|
<meta name="keywords"
|
|
|
|
content="regex++, regular expressions, regular expression library, C++">
|
|
|
|
<meta name="Template"
|
|
|
|
content="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot">
|
|
|
|
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
|
|
|
|
<title> regex++ traits-class reference </title>
|
|
|
|
</head>
|
2000-09-26 11:48:28 +00:00
|
|
|
|
2001-09-30 10:30:14 +00:00
|
|
|
<body bgcolor="#FFFFFF" link="#0000FF" vlink="#800080">
|
2000-09-26 11:48:28 +00:00
|
|
|
|
2001-09-30 10:30:14 +00:00
|
|
|
<table border="0" cellpadding="7" cellspacing="0" width="100%">
|
|
|
|
<tr>
|
|
|
|
<td valign="top"><h3><img src="../../c++boost.gif"
|
|
|
|
alt="C++ Boost" width="276" height="86"> </h3>
|
|
|
|
</td>
|
|
|
|
<td valign="top"><h3 align="center">Regex++, Traits Class
|
|
|
|
Reference. </h3>
|
|
|
|
<p align="left"><i>(Version 3.20, 29th Sept 2001)</i>
|
|
|
|
</p>
|
|
|
|
<p align="left"><i>Copyright (c) 1998-2001 </i></p>
|
|
|
|
<p align="left"><i>Dr John Maddock</i></p>
|
|
|
|
<p align="left"><i>Permission to use, copy, modify,
|
|
|
|
distribute and sell this software and its documentation
|
|
|
|
for any purpose is hereby granted without fee, provided
|
|
|
|
that the above copyright notice appear in all copies and
|
|
|
|
that both that copyright notice and this permission
|
|
|
|
notice appear in supporting documentation. Dr John
|
|
|
|
Maddock makes no representations about the suitability of
|
|
|
|
this software for any purpose. It is provided "as is"
|
|
|
|
without express or implied warranty.</i></p>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<hr>
|
|
|
|
|
|
|
|
<p>This section describes the traits class requirements of the
|
|
|
|
reg_expression template class, these requirements are somewhat
|
|
|
|
complex (sorry), and subject to change as uses ask for new
|
|
|
|
features, however I will try to keep them stable for a while, and
|
|
|
|
ideally the requirements should lessen rather than increase. </p>
|
|
|
|
|
|
|
|
<p>The <i>reg_expression</i> traits classes encapsulate both the
|
|
|
|
properties of a character type, and the properties of the locale
|
|
|
|
associated with that type. The associated locale may be defined
|
|
|
|
at run-time (via std::locale), or hard-coded into the traits
|
|
|
|
class and determined at compile time. </p>
|
|
|
|
|
|
|
|
<p>The following example class illustrates the interface required
|
|
|
|
by a "typical" traits class for use with class
|
|
|
|
reg_expression: </p>
|
|
|
|
|
|
|
|
<pre>
|
2000-09-26 11:48:28 +00:00
|
|
|
class mytraits
|
|
|
|
{
|
|
|
|
typedef implementation_defined char_type;
|
|
|
|
typedef implementation_defined uchar_type;
|
|
|
|
typedef implementation_defined size_type;
|
|
|
|
typedef implementation_defined string_type;
|
|
|
|
typedef implementation_defined locale_type;
|
|
|
|
typedef implementation_defined uint32_t;
|
|
|
|
struct sentry
|
|
|
|
{
|
|
|
|
sentry(const mytraits&);
|
|
|
|
operator void*() { return this; }
|
|
|
|
};
|
|
|
|
|
|
|
|
enum char_syntax_type
|
|
|
|
{
|
|
|
|
syntax_char = 0,
|
|
|
|
syntax_open_bracket = 1, // (
|
|
|
|
syntax_close_bracket = 2, // )
|
|
|
|
syntax_dollar = 3, // $
|
|
|
|
syntax_caret = 4, // ^
|
|
|
|
syntax_dot = 5, // .
|
|
|
|
syntax_star = 6, // *
|
|
|
|
syntax_plus = 7, // +
|
|
|
|
syntax_question = 8, // ?
|
|
|
|
syntax_open_set = 9, // [
|
|
|
|
syntax_close_set = 10, // ]
|
|
|
|
syntax_or = 11, // |
|
|
|
|
syntax_slash = 12, //
|
|
|
|
syntax_hash = 13, // #
|
|
|
|
syntax_dash = 14, // -
|
|
|
|
syntax_open_brace = 15, // {
|
|
|
|
syntax_close_brace = 16, // }
|
|
|
|
syntax_digit = 17, // 0-9
|
|
|
|
syntax_b = 18, // for \b
|
|
|
|
syntax_B = 19, // for \B
|
|
|
|
syntax_left_word = 20, // for \<
|
|
|
|
syntax_right_word = 21, // for \
|
|
|
|
syntax_w = 22, // for \w
|
|
|
|
syntax_W = 23, // for \W
|
|
|
|
syntax_start_buffer = 24, // for \`
|
|
|
|
syntax_end_buffer = 25, // for \'
|
|
|
|
syntax_newline = 26, // for newline alt
|
|
|
|
syntax_comma = 27, // for {x,y}
|
|
|
|
|
|
|
|
syntax_a = 28, // for \a
|
|
|
|
syntax_f = 29, // for \f
|
|
|
|
syntax_n = 30, // for \n
|
|
|
|
syntax_r = 31, // for \r
|
|
|
|
syntax_t = 32, // for \t
|
|
|
|
syntax_v = 33, // for \v
|
|
|
|
syntax_x = 34, // for \xdd
|
|
|
|
syntax_c = 35, // for \cx
|
|
|
|
syntax_colon = 36, // for [:...:]
|
|
|
|
syntax_equal = 37, // for [=...=]
|
|
|
|
|
|
|
|
// perl ops:
|
|
|
|
syntax_e = 38, // for \e
|
|
|
|
syntax_l = 39, // for \l
|
|
|
|
syntax_L = 40, // for \L
|
|
|
|
syntax_u = 41, // for \u
|
|
|
|
syntax_U = 42, // for \U
|
|
|
|
syntax_s = 43, // for \s
|
|
|
|
syntax_S = 44, // for \S
|
|
|
|
syntax_d = 45, // for \d
|
|
|
|
syntax_D = 46, // for \D
|
|
|
|
syntax_E = 47, // for \Q\E
|
|
|
|
syntax_Q = 48, // for \Q\E
|
|
|
|
syntax_X = 49, // for \X
|
|
|
|
syntax_C = 50, // for \C
|
|
|
|
syntax_Z = 51, // for \Z
|
|
|
|
syntax_G = 52, // for \G
|
|
|
|
syntax_bang = 53, // reserved for future use '!'
|
|
|
|
syntax_and = 54, // reserve for future use '&'
|
|
|
|
};
|
|
|
|
|
|
|
|
enum{
|
|
|
|
char_class_none = 0,
|
|
|
|
char_class_alpha,
|
|
|
|
char_class_cntrl,
|
|
|
|
char_class_digit,
|
|
|
|
char_class_lower,
|
|
|
|
char_class_punct,
|
|
|
|
char_class_space,
|
|
|
|
char_class_upper,
|
|
|
|
char_class_xdigit,
|
|
|
|
char_class_blank,
|
|
|
|
char_class_unicode,
|
|
|
|
char_class_alnum,
|
|
|
|
char_class_graph,
|
|
|
|
char_class_print,
|
|
|
|
char_class_word
|
|
|
|
};
|
|
|
|
|
|
|
|
static size_t length(const char_type* p);
|
|
|
|
unsigned int syntax_type(size_type c)const;
|
|
|
|
char_type translate(char_type c, bool icase)const;
|
|
|
|
void transform(string_type& out, const string_type& in)const;
|
|
|
|
void transform_primary(string_type& out, const string_type& in)const;
|
|
|
|
bool is_separator(char_type c)const;
|
|
|
|
bool is_combining(char_type)const;
|
|
|
|
bool is_class(char_type c, uint32_t f)const;
|
|
|
|
int toi(char_type c)const;
|
|
|
|
int toi(const char_type*& first, const char_type* last, int radix)const;
|
|
|
|
uint32_t lookup_classname(const char_type* first, const char_type* last)const;
|
|
|
|
bool lookup_collatename(string_type& buf, const char_type* first, const char_type* last)const;
|
|
|
|
locale_type imbue(locale_type l);
|
|
|
|
locale_type getloc()const;
|
|
|
|
std::string error_string(unsigned id)const;
|
|
|
|
|
|
|
|
mytraits();
|
|
|
|
~mytraits();
|
|
|
|
};
|
2001-09-30 10:30:14 +00:00
|
|
|
</pre>
|
|
|
|
|
|
|
|
<p>The member types required by a traits class are defined as
|
|
|
|
follows:<br>
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<table border="0" cellpadding="7" width="100%">
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="4%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="26%" bgcolor="#008080">Member
|
|
|
|
name </td>
|
|
|
|
<td valign="top" width="63%" bgcolor="#008080">Description
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="4%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="26%" bgcolor="#C0C0C0">char_type </td>
|
|
|
|
<td valign="top" width="63%" bgcolor="#C0C0C0">The
|
|
|
|
character type encapsulated by this traits class, must be
|
|
|
|
a POD type, and be convertible to uchar_type. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="4%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="26%" bgcolor="#C0C0C0">uchar_type
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="63%" bgcolor="#C0C0C0">The
|
|
|
|
unsigned type corresponding to char_type, must be
|
|
|
|
convertible to size_type. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="4%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="26%" bgcolor="#C0C0C0">size_type </td>
|
|
|
|
<td valign="top" width="63%" bgcolor="#C0C0C0">An
|
|
|
|
unsigned integral type, with at least as much precision
|
|
|
|
as uchar_type. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="4%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="26%" bgcolor="#C0C0C0">string_type
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="63%" bgcolor="#C0C0C0">A type
|
|
|
|
that offers the same facilities as std::basic_string<char_type.
|
|
|
|
This is used for collating elements, and sort strings, if
|
|
|
|
char_type has no locale dependent collation (it is not a
|
|
|
|
"character"), then it could be something
|
|
|
|
simpler than std::basic_string. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="4%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="26%" bgcolor="#C0C0C0">locale_type
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="63%" bgcolor="#C0C0C0">A type
|
|
|
|
that encapsulates the locale used by the traits class,
|
|
|
|
probably std::locale but could be a platform specific
|
|
|
|
type, or a dummy type if per-instance locales are not
|
|
|
|
supported by the traits class. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="4%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="26%" bgcolor="#C0C0C0">uint32_t </td>
|
|
|
|
<td valign="top" width="63%" bgcolor="#C0C0C0">An
|
|
|
|
unsigned integral type with at least 32-bits of
|
|
|
|
precision, used as a bitmask type for character
|
|
|
|
classification. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="4%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="26%" bgcolor="#C0C0C0">sentry </td>
|
|
|
|
<td valign="top" width="63%" bgcolor="#C0C0C0">A class or
|
|
|
|
struct type which is constructible from an instance of
|
|
|
|
the traits class, and is convertible to void*. An
|
|
|
|
instance of type sentry will be constructed before
|
|
|
|
compiling each regular expression, it provides an
|
|
|
|
opportunity to carry out prefix/suffix operations on the
|
|
|
|
traits class. <p>For example a traits class that
|
|
|
|
encapsulates the global locale, can use this as an
|
|
|
|
opportunity to synchronize with the global locale (by
|
|
|
|
updating any cached data). </p>
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<p><br>
|
|
|
|
The following member constants are used to represent the
|
|
|
|
locale independent syntax of a regular expression; the member
|
|
|
|
function <i>syntax_type</i> returns one of these values, and is
|
|
|
|
used to convert a locale dependent regular expression, into a
|
|
|
|
locale-independent sequence of tokens.<br>
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<table border="0" cellpadding="7" width="100%">
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#008080">Member
|
|
|
|
constant </td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#008080">English
|
|
|
|
language representation </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_char
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">All non-special
|
|
|
|
characters. </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_open_bracket
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">( </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_close_bracket
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">) </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_dollar
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">$ </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_caret
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">^ </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_dot
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">. </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_star
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">* </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_plus
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">+ </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_question
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">? </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_open_set
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">[ </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_close_set
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">] </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_or
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">| </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_slash
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">\ </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_hash
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0"># </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_dash
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">- </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_open_brace
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">{ </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_close_brace
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">} </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_digit
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">0123456789
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_b
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">b </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_B
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">B </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_left_word
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0"><
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_right_word
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0"> </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_w
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">w </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_W
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">W </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_start_buffer
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">` </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_end_buffer
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">' </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_newline
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">\n </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_comma
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">, </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_a
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">a </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_f
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">f </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_n
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">n </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_r
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">r </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_t
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">t </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_v
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">v </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_x
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">x </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_c
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">c </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_colon
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">: </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_equal
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">= </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_e
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">e </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_l
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">l </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_L
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">L </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_u
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">u </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_U
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">U </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_s
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">s </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_S
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">S </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_d
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">d </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_D
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">D </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_E
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">E </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_Q
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">Q </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_X
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">X </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_C
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">C </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_Z
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">Z </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_G
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">G </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_bang
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">! </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="40%" bgcolor="#C0C0C0">syntax_and
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="50%" bgcolor="#C0C0C0">&
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<p>The following member constants are used to represent
|
|
|
|
particular character classifications:<br>
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<table border="0" cellpadding="7" width="100%">
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="33%" bgcolor="#008080">Member
|
|
|
|
constant </td>
|
|
|
|
<td valign="top" width="56%" bgcolor="#008080">Description
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="33%" bgcolor="#C0C0C0">char_class_none
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="56%" bgcolor="#C0C0C0">No
|
|
|
|
classification, must be zero. </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="33%" bgcolor="#C0C0C0">char_class_alpha
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="56%" bgcolor="#C0C0C0">All
|
|
|
|
alphabetic characters. </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="33%" bgcolor="#C0C0C0">char_class_cntrl
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="56%" bgcolor="#C0C0C0">All
|
|
|
|
control characters. </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="33%" bgcolor="#C0C0C0">char_class_digit
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="56%" bgcolor="#C0C0C0">All
|
|
|
|
decimal digits. </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="33%" bgcolor="#C0C0C0">char_class_lower
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="56%" bgcolor="#C0C0C0">All lower
|
|
|
|
case characters. </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="33%" bgcolor="#C0C0C0">char_class_punct
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="56%" bgcolor="#C0C0C0">All
|
|
|
|
punctuation characters. </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="33%" bgcolor="#C0C0C0">char_class_space
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="56%" bgcolor="#C0C0C0">All white-space
|
|
|
|
characters. </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="33%" bgcolor="#C0C0C0">char_class_upper
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="56%" bgcolor="#C0C0C0">All upper
|
|
|
|
case characters. </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="33%" bgcolor="#C0C0C0">char_class_xdigit
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="56%" bgcolor="#C0C0C0">All
|
|
|
|
hexadecimal digit characters. </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="33%" bgcolor="#C0C0C0">char_class_blank
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="56%" bgcolor="#C0C0C0">All blank
|
|
|
|
characters (space + tab). </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="33%" bgcolor="#C0C0C0">char_class_unicode
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="56%" bgcolor="#C0C0C0">All
|
|
|
|
extended unicode characters - those that can not be
|
|
|
|
represented as a single narrow character. </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="33%" bgcolor="#C0C0C0">char_class_alnum
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="56%" bgcolor="#C0C0C0">All alpha-numeric
|
|
|
|
characters. </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="33%" bgcolor="#C0C0C0">char_class_graph
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="56%" bgcolor="#C0C0C0">All
|
|
|
|
graphic characters. </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="33%" bgcolor="#C0C0C0">char_class_print
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="56%" bgcolor="#C0C0C0">All
|
|
|
|
printable characters. </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="33%" bgcolor="#C0C0C0">char_class_word
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="56%" bgcolor="#C0C0C0">All word
|
|
|
|
characters (alphanumeric characters + the underscore). </td>
|
|
|
|
<td valign="top" width="5%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<p>The following member functions are required by all regular
|
|
|
|
expression traits classes, those members that are declared here
|
|
|
|
as <i>const</i>, could be declared <i>static</i> instead if the
|
|
|
|
class does not contain instance data:<br>
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<table border="0" cellpadding="7" width="100%">
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#008080">Member
|
|
|
|
function </td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#008080">Description
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">static
|
|
|
|
size_t length(const char_type* p); </td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0">Returns
|
|
|
|
the length of the null-terminated string p. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">unsigned
|
|
|
|
int syntax_type(size_type c)const; </td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0"> Converts
|
|
|
|
an input character into a locale independent token (one
|
|
|
|
of the syntax_xxx member constants). Called when parsing
|
|
|
|
the regular expression into a locale-independent parse
|
|
|
|
tree. <p>Example: in English language regular
|
|
|
|
expressions we would use "[[:word:]]" to
|
|
|
|
represent the character class of all word characters, and
|
|
|
|
"\w" as a shortcut for this. Consequently
|
|
|
|
syntax_type('w') returns syntax_w. In French language
|
|
|
|
regular expressions, we would use "[[:mot:]]"
|
|
|
|
in place of "[[:word:]]" and therefore "\m"
|
|
|
|
in place of "\w", therefore it is syntax_type('m')
|
|
|
|
that returns syntax_w. </p>
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">char_type
|
|
|
|
translate(char_type c, bool icase)const; </td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0"> Translates
|
|
|
|
an input character into a unique identifier that
|
|
|
|
represents the equivalence class that that character
|
|
|
|
belongs to. If icase is true, then the returned value is
|
|
|
|
insensitive to case. <p>[An equivalence class is
|
|
|
|
the set of all characters that must be treated as being
|
|
|
|
equivalent to each other.] </p>
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">void
|
|
|
|
transform(string_type& out, const string_type& in)const;
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0"> Transforms
|
|
|
|
the string <i>in</i>, into a locale-dependent sort key,
|
|
|
|
and stores the result in <i>out</i>. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">void
|
|
|
|
transform_primary(string_type& out, const
|
|
|
|
string_type& in)const; </td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0"> Transforms
|
|
|
|
the string <i>in,</i> into a locale-dependent primary
|
|
|
|
sort key, and stores the result in <i>out</i>. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">bool
|
|
|
|
is_separator(char_type c)const; </td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0"> Returns
|
|
|
|
true only if <i>c</i> is a line separator. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">bool
|
|
|
|
is_combining(char_type c)const; </td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0"> Returns
|
|
|
|
true only if <i>c</i> is a unicode combining character. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">bool
|
|
|
|
is_class(char_type c, uint32_t f)const; </td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0"> Returns
|
|
|
|
true only if <i>c</i> is a member of one of the character
|
|
|
|
classes represented by the bitmap <i>f</i>. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">int toi(char_type
|
|
|
|
c)const; </td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0"> Converts
|
|
|
|
the character <i>c</i> to a decimal integer. <p>[Precondition:
|
|
|
|
is_class(c,char_class_digit)==true] </p>
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">int toi(const
|
|
|
|
char_type*& first, const char_type* last, int radix)const;
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0"> Converts
|
|
|
|
the string [first-last) into an integral value using base
|
|
|
|
<i>radix.</i> Stops when it finds the first non-digit
|
|
|
|
character, and sets <i>first</i> to point to that
|
|
|
|
character. <p>[Precondition: is_class(*first,char_class_digit)==true]
|
|
|
|
</p>
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">uint32_t
|
|
|
|
lookup_classname(const char_type* first, const char_type*
|
|
|
|
last)const; </td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0"> Returns
|
|
|
|
the bitmap representing the character class [first-last),
|
|
|
|
or char_class_none if [first-last) is not recognized as a
|
|
|
|
character class name. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">bool
|
|
|
|
lookup_collatename(string_type& buf, const char_type*
|
|
|
|
first, const char_type* last)const; </td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0">If the
|
|
|
|
sequence [first-last) is the name of a known collating
|
|
|
|
element, then stores the collating element in buf, and
|
|
|
|
returns true, otherwise returns false. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">locale_type
|
|
|
|
imbue(locale_type l); </td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0"> Imbues
|
|
|
|
the class with the locale <i>l</i>. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">locale_type
|
|
|
|
getloc()const; </td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0"> Returns
|
|
|
|
the traits-class locale. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">std::string
|
|
|
|
error_string(unsigned id)const; </td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0"> Returns
|
|
|
|
the locale-dependent error-string associated with the
|
|
|
|
error-number <i>id</i>. The parameter <i>id</i> is one of
|
|
|
|
the REG_XXX error codes described by the POSIX standard,
|
|
|
|
and defined in <boost/cregex.hpp. </td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">mytraits();
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0"> Constructor.
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="7%" bgcolor="#FFFFFF"> </td>
|
|
|
|
<td valign="top" width="36%" bgcolor="#C0C0C0">~ mytraits();
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="51%" bgcolor="#C0C0C0"> Destructor.
|
|
|
|
</td>
|
|
|
|
<td valign="top" width="6%" bgcolor="#FFFFFF"> </td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<p><a name="intro"></a><br>
|
|
|
|
</p>
|
2000-09-26 11:48:28 +00:00
|
|
|
|
2001-09-30 10:30:14 +00:00
|
|
|
<hr>
|
2000-09-26 11:48:28 +00:00
|
|
|
|
2001-09-30 10:30:14 +00:00
|
|
|
<p><i>Copyright</i> <a href="mailto:John_Maddock@compuserve.com"><i>Dr
|
|
|
|
John Maddock</i></a> <i>1998-2000 all rights reserved.</i> </p>
|
|
|
|
</body>
|
|
|
|
</html>
|