2003-05-17 11:45:48 +00:00
|
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
|
|
|
<html>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<head>
|
|
|
|
|
<title>Boost.Regex: basic_regex</title>
|
|
|
|
|
<meta name="generator" content="HTML Tidy, see www.w3.org">
|
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
|
|
|
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="300">
|
2004-10-05 15:45:52 +00:00
|
|
|
|
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
</td>
|
|
|
|
|
<td width="353">
|
|
|
|
|
<h1 align="center">Boost.Regex</h1>
|
|
|
|
|
<h2 align="center">basic_regex</h2>
|
|
|
|
|
</td>
|
|
|
|
|
<td width="50">
|
|
|
|
|
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
<br>
|
|
|
|
|
<br>
|
|
|
|
|
<hr>
|
|
|
|
|
<h3>Synopsis</h3>
|
|
|
|
|
<pre>
|
2003-05-24 11:13:26 +00:00
|
|
|
|
#include <<a href="../../../boost/regex.hpp">boost/regex.hpp</a>>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p>The template class <em>basic_regex</em> encapsulates regular expression parsing
|
2005-01-13 17:06:21 +00:00
|
|
|
|
and compilation. The class takes two template parameters:</p>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b><i>charT</i></b>: determines the character type, i.e. either char or
|
2005-01-13 17:06:21 +00:00
|
|
|
|
wchar_t; see <EM><A href="concepts.html#charT">charT concept</A></EM>.</p>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b><i>traits</i></b>: determines the behavior of the character type, for
|
|
|
|
|
example which character class names are recognized. A default traits class is
|
2005-01-13 17:06:21 +00:00
|
|
|
|
provided: <a href="regex_traits.html">regex_traits<charT></a>. See
|
|
|
|
|
also <EM><A href="concepts.html#traits">traits concept</A></EM>.</p>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p>For ease of use there are two typedefs that define the two standard <i>basic_regex</i>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
instances, unless you want to use custom traits classes or non-standard
|
|
|
|
|
character types, you won't need to use anything other than these:</p>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<pre>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
<b>namespace</b> boost{
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<b>template</b> <<b>class</b> charT, <b>class</b> traits = regex_traits<charT> >
|
2003-05-17 11:45:48 +00:00
|
|
|
|
<b>class</b> basic_regex;
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<b>typedef</b> basic_regex<<b>char</b>> regex;
|
|
|
|
|
<b>typedef</b> basic_regex<<b>wchar_t></b> wregex;
|
2003-05-17 11:45:48 +00:00
|
|
|
|
}
|
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p>The definition of <i>basic_regex</i> follows: it is based very closely on class
|
|
|
|
|
basic_string, and fulfils the requirements for a constant-container of <i>charT</i>.</p>
|
|
|
|
|
<pre>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
namespace boost{
|
|
|
|
|
|
2005-01-13 17:06:21 +00:00
|
|
|
|
template <class charT, class traits = regex_traits<charT> >
|
|
|
|
|
class basic_regex {
|
|
|
|
|
public:
|
2003-05-17 11:45:48 +00:00
|
|
|
|
// types:
|
|
|
|
|
typedef charT value_type;
|
2005-01-13 17:06:21 +00:00
|
|
|
|
typedef implementation-specific const_iterator;
|
|
|
|
|
typedef const_iterator iterator;
|
|
|
|
|
typedef charT& reference;
|
|
|
|
|
typedef const charT& const_reference;
|
|
|
|
|
typedef std::ptrdiff_t difference_type;
|
|
|
|
|
typedef std::size_t size_type;
|
2003-05-17 11:45:48 +00:00
|
|
|
|
typedef regex_constants::syntax_option_type flag_type;
|
|
|
|
|
typedef typename traits::locale_type locale_type;
|
|
|
|
|
|
|
|
|
|
// constants:
|
2005-01-13 17:06:21 +00:00
|
|
|
|
// main option selection:
|
|
|
|
|
static const regex_constants::syntax_option_type normal = regex_constants::normal;
|
|
|
|
|
static const regex_constants::syntax_option_type ECMAScript = normal;
|
|
|
|
|
static const regex_constants::syntax_option_type JavaScript = normal;
|
|
|
|
|
static const regex_constants::syntax_option_type JScript = normal;
|
|
|
|
|
static const regex_constants::syntax_option_type basic = regex_constants::basic;
|
|
|
|
|
static const regex_constants::syntax_option_type extended = regex_constants::extended;
|
|
|
|
|
static const regex_constants::syntax_option_type awk = regex_constants::awk;
|
|
|
|
|
static const regex_constants::syntax_option_type grep = regex_constants::grep;
|
|
|
|
|
static const regex_constants::syntax_option_type egrep = regex_constants::egrep;
|
|
|
|
|
static const regex_constants::syntax_option_type sed = basic = regex_constants::sed;
|
|
|
|
|
static const regex_constants::syntax_option_type perl = regex_constants::perl;
|
|
|
|
|
static const regex_constants::syntax_option_type literal = regex_constants::literal;
|
|
|
|
|
// modifiers specific to perl expressions:
|
|
|
|
|
static const regex_constants::syntax_option_type no_mod_m = regex_constants::no_mod_m;
|
|
|
|
|
static const regex_constants::syntax_option_type no_mod_s = regex_constants::no_mod_s;
|
|
|
|
|
static const regex_constants::syntax_option_type mod_s = regex_constants::mod_s;
|
|
|
|
|
static const regex_constants::syntax_option_type mod_x = regex_constants::mod_x;
|
|
|
|
|
// modifiers specific to POSIX basic expressions:
|
|
|
|
|
static const regex_constants::syntax_option_type bk_plus_qm = regex_constants::bk_plus_qm;
|
|
|
|
|
static const regex_constants::syntax_option_type bk_vbar = regex_constants::bk_vbar
|
|
|
|
|
static const regex_constants::syntax_option_type no_char_classes = regex_constants::no_char_classes
|
|
|
|
|
static const regex_constants::syntax_option_type no_intervals = regex_constants::no_intervals
|
|
|
|
|
// common modifiers:
|
|
|
|
|
static const regex_constants::syntax_option_type nosubs = regex_constants::nosubs;
|
|
|
|
|
static const regex_constants::syntax_option_type optimize = regex_constants::optimize;
|
|
|
|
|
static const regex_constants::syntax_option_type collate = regex_constants::collate;
|
|
|
|
|
static const regex_constants::syntax_option_type newline_alt = regex_constants::newline_alt;
|
2003-05-17 11:45:48 +00:00
|
|
|
|
|
|
|
|
|
// construct/copy/destroy:
|
2005-01-13 17:06:21 +00:00
|
|
|
|
explicit <A href="#c1">basic_regex</A> ();
|
|
|
|
|
explicit <A href="#c2">basic_regex</A>(const charT* p, flag_type f = regex_constants::normal);
|
|
|
|
|
<A href="#c3">basic_regex</A>(const charT* p1, const charT* p2, flag_type f = regex_constants::normal);
|
|
|
|
|
<A href="#c4">basic_regex</A>(const charT* p, size_type len, flag_type f);
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<A href="#c5">basic_regex</A>(const basic_regex&);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
template <class ST, class SA>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
explicit <A href="#c6">basic_regex</A>(const basic_string<charT, ST, SA>& p, flag_type f = regex_constants::normal);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
template <class InputIterator>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<A href="#c7">basic_regex</A>(InputIterator first, InputIterator last, flag_type f = regex_constants::normal);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
|
|
|
|
|
~basic_regex();
|
2003-10-21 11:18:40 +00:00
|
|
|
|
basic_regex& <A href="#o1">operator</A>=(const basic_regex&);
|
|
|
|
|
basic_regex& <A href="#o2">operator</A>= (const charT* ptr);
|
|
|
|
|
template <class ST, class SA>
|
|
|
|
|
basic_regex& <A href="#o3">operator</A>= (const basic_string<charT, ST, SA>& p);
|
|
|
|
|
// iterators:
|
|
|
|
|
const_iterator <A href="#m1">begin</A>() const;
|
|
|
|
|
const_iterator <A href="#m2">end</A>() const;
|
|
|
|
|
// capacity:
|
|
|
|
|
size_type <A href="#m3">size</A>() const;
|
|
|
|
|
size_type <A href="#m4">max_size</A>() const;
|
|
|
|
|
bool <A href="#m5">empty</A>() const;
|
|
|
|
|
unsigned <A href="#m6">mark_count</A>()const;
|
2003-05-17 11:45:48 +00:00
|
|
|
|
//
|
2003-10-21 11:18:40 +00:00
|
|
|
|
// modifiers:
|
|
|
|
|
basic_regex& <A href="#a1">assign</A>(const basic_regex& that);
|
|
|
|
|
basic_regex& <A href="#a2">assign</A>(const charT* ptr, flag_type f = regex_constants::normal);
|
|
|
|
|
basic_regex& <A href="#a3">assign</A>(const charT* ptr, unsigned int len, flag_type f);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
template <class string_traits, class A>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
basic_regex& <A href="#a4">assign</A>(const basic_string<charT, string_traits, A>& s,
|
2003-05-17 11:45:48 +00:00
|
|
|
|
flag_type f = regex_constants::normal);
|
|
|
|
|
template <class InputIterator>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
basic_regex& <A href="#a5">assign</A>(InputIterator first, InputIterator last,
|
2003-05-17 11:45:48 +00:00
|
|
|
|
flag_type f = regex_constants::normal);
|
|
|
|
|
|
|
|
|
|
// const operations:
|
2003-10-21 11:18:40 +00:00
|
|
|
|
flag_type <A href="#m8">flags</A>() const;
|
|
|
|
|
basic_string<charT> <A href="#m9">str</A>() const;
|
|
|
|
|
int <A href="#m10">compare</A>(basic_regex&) const;
|
2003-05-17 11:45:48 +00:00
|
|
|
|
// locale:
|
2003-10-21 11:18:40 +00:00
|
|
|
|
locale_type <A href="#m11">imbue</A>(locale_type loc);
|
|
|
|
|
locale_type <A href="#m12">getloc</A>() const;
|
2003-05-17 11:45:48 +00:00
|
|
|
|
// swap
|
2003-10-21 11:18:40 +00:00
|
|
|
|
void <A href="#m13">swap</A>(basic_regex&) throw();
|
2003-05-17 11:45:48 +00:00
|
|
|
|
};
|
|
|
|
|
|
2005-01-13 17:06:21 +00:00
|
|
|
|
template <class charT, class traits>
|
|
|
|
|
bool <A href="#o4">operator</A> == (const basic_regex<charT, traits>& lhs,
|
|
|
|
|
const basic_regex<charT, traits>& rhs);
|
|
|
|
|
template <class charT, class traits>
|
|
|
|
|
bool <A href="#o5">operator</A> != (const basic_regex<charT, traits>& lhs,
|
|
|
|
|
const basic_regex<charT, traits>& rhs);
|
|
|
|
|
template <class charT, class traits>
|
|
|
|
|
bool <A href="#o7">operator</A> < (const basic_regex<charT, traits>& lhs,
|
|
|
|
|
const basic_regex<charT, traits>& rhs);
|
|
|
|
|
template <class charT, class traits>
|
|
|
|
|
bool <A href="#o8">operator</A> <= (const basic_regex<charT, traits>& lhs,
|
|
|
|
|
const basic_regex<charT, traits>& rhs);
|
|
|
|
|
template <class charT, class traits>
|
|
|
|
|
bool <A href="#o9">operator</A> >= (const basic_regex<charT, traits>& lhs,
|
|
|
|
|
const basic_regex<charT, traits>& rhs);
|
|
|
|
|
template <class charT, class traits>
|
|
|
|
|
bool <A href="#o10">operator</A> > (const basic_regex<charT, traits>& lhs,
|
|
|
|
|
const basic_regex<charT, traits>& rhs);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
|
2005-01-13 17:06:21 +00:00
|
|
|
|
template <class charT, class io_traits, class re_traits>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
basic_ostream<charT, io_traits>&
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<A href="#o11">operator</A> << (basic_ostream<charT, io_traits>& os,
|
2005-01-13 17:06:21 +00:00
|
|
|
|
const basic_regex<charT, re_traits>& e);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
|
2005-01-13 17:06:21 +00:00
|
|
|
|
template <class charT, class traits>
|
|
|
|
|
void <A href="#o12">swap</A>(basic_regex<charT, traits>& e1,
|
|
|
|
|
basic_regex<charT, traits>& e2);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
|
|
|
|
|
typedef basic_regex<char> regex;
|
|
|
|
|
typedef basic_regex<wchar_t> wregex;
|
|
|
|
|
|
|
|
|
|
} // namespace boost
|
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<h3>Description</h3>
|
|
|
|
|
<p>Class <em>basic_regex</em> has the following public member functions:</p>
|
|
|
|
|
<h4>basic_regex constants</h4>
|
|
|
|
|
<pre>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
// main option selection:
|
|
|
|
|
static const regex_constants::syntax_option_type normal = regex_constants::normal;
|
|
|
|
|
static const regex_constants::syntax_option_type ECMAScript = normal;
|
|
|
|
|
static const regex_constants::syntax_option_type JavaScript = normal;
|
|
|
|
|
static const regex_constants::syntax_option_type JScript = normal;
|
|
|
|
|
static const regex_constants::syntax_option_type basic = regex_constants::basic;
|
|
|
|
|
static const regex_constants::syntax_option_type extended = regex_constants::extended;
|
|
|
|
|
static const regex_constants::syntax_option_type awk = regex_constants::awk;
|
|
|
|
|
static const regex_constants::syntax_option_type grep = regex_constants::grep;
|
|
|
|
|
static const regex_constants::syntax_option_type egrep = regex_constants::egrep;
|
|
|
|
|
static const regex_constants::syntax_option_type sed = regex_constants::sed;
|
|
|
|
|
static const regex_constants::syntax_option_type perl = regex_constants::perl;
|
|
|
|
|
static const regex_constants::syntax_option_type literal = regex_constants::literal;
|
|
|
|
|
// modifiers specific to perl expressions:
|
|
|
|
|
static const regex_constants::syntax_option_type no_mod_m = regex_constants::no_mod_m;
|
|
|
|
|
static const regex_constants::syntax_option_type no_mod_s = regex_constants::no_mod_s;
|
|
|
|
|
static const regex_constants::syntax_option_type mod_s = regex_constants::mod_s;
|
|
|
|
|
static const regex_constants::syntax_option_type mod_x = regex_constants::mod_x;
|
|
|
|
|
// modifiers specific to POSIX basic expressions:
|
|
|
|
|
static const regex_constants::syntax_option_type bk_plus_qm = regex_constants::bk_plus_qm;
|
|
|
|
|
static const regex_constants::syntax_option_type bk_vbar = regex_constants::bk_vbar
|
|
|
|
|
static const regex_constants::syntax_option_type no_char_classes = regex_constants::no_char_classes
|
|
|
|
|
static const regex_constants::syntax_option_type no_intervals = regex_constants::no_intervals
|
|
|
|
|
// common modifiers:
|
|
|
|
|
static const regex_constants::syntax_option_type nosubs = regex_constants::nosubs;
|
|
|
|
|
static const regex_constants::syntax_option_type optimize = regex_constants::optimize;
|
|
|
|
|
static const regex_constants::syntax_option_type collate = regex_constants::collate;
|
|
|
|
|
static const regex_constants::syntax_option_type newline_alt = regex_constants::newline_alt;
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p>The static constant members are provided as synonyms for the constants declared
|
|
|
|
|
in namespace <code>boost::regex_constants</code>; for each constant of type <code><A href="syntax_option_type.html">
|
|
|
|
|
syntax_option_type</A></code> declared in namespace <code>boost::regex_constants</code>
|
|
|
|
|
then a constant with the same name, type and value is declared within the scope
|
|
|
|
|
of <code>basic_regex</code>.</p>
|
|
|
|
|
<h4>basic_regex constructors</h4>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<pre><A name=c1> basic_regex();
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<P><b>Effects:</b> Constructs an object of class <code>basic_regex</code>. The
|
|
|
|
|
postconditions of this function are indicated in the table:</P>
|
|
|
|
|
<div align="center">
|
|
|
|
|
<center>
|
|
|
|
|
<table id="Table2" cellspacing="1" cellpadding="7" width="624" border="1">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p><b>Element</b></p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p><b>Value</b></p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>empty()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>true</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>size()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>0</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>str()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>basic_string<charT>()</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</center>
|
|
|
|
|
</div>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<pre><A name=c2><BR> basic_regex(const charT* p, flag_type f = regex_constants::normal);
|
2003-10-21 11:18:40 +00:00
|
|
|
|
|
|
|
|
|
</pre>
|
|
|
|
|
<P><b>Requires:</b> <i>p</i> shall not be a null pointer.</P>
|
|
|
|
|
<p><b>Throws:</b> <code>bad_expression</code> if <i>p</i> is not a valid regular
|
|
|
|
|
expression.</p>
|
|
|
|
|
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code>; the
|
|
|
|
|
object's internal finite state machine is constructed from the regular
|
|
|
|
|
expression contained in the null-terminated string <i>p</i>, and interpreted
|
|
|
|
|
according to the <a href="syntax_option_type.html">option flags</a> specified
|
|
|
|
|
in <i>f</i>. The postconditions of this function are indicated in the table:</p>
|
|
|
|
|
<div align="center">
|
|
|
|
|
<center>
|
|
|
|
|
<table id="Table3" cellspacing="1" cellpadding="7" width="624" border="1">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p><b>Element</b></p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p><b>Value</b></p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>empty()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>false</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>size()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>char_traits<charT>::length(p)</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>str()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>basic_string<charT>(p)</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>flags()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>f</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>mark_count()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>The number of marked sub-expressions within the expression.</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</center>
|
|
|
|
|
</div>
|
|
|
|
|
<pre>
|
|
|
|
|
|
|
|
|
|
</pre>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<PRE><A name=c3></A>basic_regex(const charT* p1, const charT* p2, flag_type f = regex_constants::normal);</PRE>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Requires:</b> <i>p1</i> and <i>p2</i> are not null pointers, <code>p1 < p2</code>.</p>
|
|
|
|
|
<p><b>Throws:</b> <code>bad_expression</code> if [p1,p2) is not a valid regular
|
|
|
|
|
expression.</p>
|
|
|
|
|
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code>; the
|
|
|
|
|
object's internal finite state machine is constructed from the regular
|
|
|
|
|
expression contained in the sequence of characters [p1,p2), and interpreted
|
|
|
|
|
according the <a href="syntax_option_type.html">option flags</a> specified in <i>f</i>.
|
|
|
|
|
The postconditions of this function are indicated in the table:</p>
|
|
|
|
|
<div align="center">
|
|
|
|
|
<center>
|
|
|
|
|
<table id="Table4" cellspacing="1" cellpadding="7" width="624" border="1">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p><b>Element</b></p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p><b>Value</b></p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>empty()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>false</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>size()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>std::distance(p1,p2)</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>str()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>basic_string<charT>(p1,p2)</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>flags()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>f</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>mark_count()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>The number of marked sub-expressions within the expression.</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</center>
|
|
|
|
|
</div>
|
|
|
|
|
<pre>
|
|
|
|
|
|
|
|
|
|
</pre>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<pre><A name=c4></A>basic_regex(const charT* p, size_type len, flag_type f);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Requires:</b> <i>p</i> shall not be a null pointer, <code>len < max_size()</code>.</p>
|
|
|
|
|
<p><b>Throws:</b> <code>bad_expression</code> if <i>p</i> is not a valid regular
|
|
|
|
|
expression.</p>
|
|
|
|
|
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code>; the
|
|
|
|
|
object's internal finite state machine is constructed from the regular
|
|
|
|
|
expression contained in the sequence of characters [p, p+len), and interpreted
|
|
|
|
|
according the <a href="syntax_option_type.html">option flags</a> specified in <i>f</i>.
|
|
|
|
|
The postconditions of this function are indicated in the table:</p>
|
|
|
|
|
<div align="center">
|
|
|
|
|
<center>
|
|
|
|
|
<table id="Table5" cellspacing="1" cellpadding="7" width="624" border="1">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p><b>Element</b></p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p><b>Value</b></p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>empty()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>false</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>size()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>len</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>str()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>basic_string<charT>(p, len)</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>flags()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>f</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>mark_count()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>The number of marked sub-expressions within the expression.</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</center>
|
|
|
|
|
</div>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<pre><A name=c5></A><BR>basic_regex(const basic_regex& e);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code> as a
|
|
|
|
|
copy of the object <i>e</i>. The postconditions of this function are indicated
|
|
|
|
|
in the table:</p>
|
|
|
|
|
<div align="center">
|
|
|
|
|
<center>
|
|
|
|
|
<table id="Table6" cellspacing="1" cellpadding="7" width="624" border="1">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p><b>Element</b></p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p><b>Value</b></p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>empty()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>e.empty()</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>size()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>e.size()</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>str()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>e.str()</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>flags()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>e.flags()</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>mark_count()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>e.mark_count()</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</center>
|
|
|
|
|
</div>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<pre><BR>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
template <class ST, class SA>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<A name=c6></A>basic_regex(const basic_string<charT, ST, SA>& s, flag_type f = regex_constants::normal);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Throws:</b> <code>bad_expression</code> if <i>s</i> is not a valid regular
|
|
|
|
|
expression.</p>
|
|
|
|
|
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code>; the
|
|
|
|
|
object's internal finite state machine is constructed from the regular
|
|
|
|
|
expression contained in the string <i>s</i>, and interpreted according to the <a href="syntax_option_type.html">
|
|
|
|
|
option flags</a> specified in <i>f</i>. The postconditions of this function
|
|
|
|
|
are indicated in the table:</p>
|
|
|
|
|
<div align="center">
|
|
|
|
|
<center>
|
|
|
|
|
<table id="Table7" cellspacing="1" cellpadding="7" width="624" border="1">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p><b>Element</b></p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p><b>Value</b></p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>empty()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>false</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>size()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>s.size()</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>str()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>s</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>flags()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>f</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>mark_count()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>The number of marked sub-expressions within the expression.</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</center>
|
|
|
|
|
</div>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<pre><BR>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
template <class ForwardIterator>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<A name=c7></A>basic_regex(ForwardIterator first, ForwardIterator last, flag_type f = regex_constants::normal);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Throws:</b> <code>bad_expression</code> if the sequence <i>[first, last)</i>
|
|
|
|
|
is not a valid regular expression.</p>
|
|
|
|
|
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code>; the
|
|
|
|
|
object's internal finite state machine is constructed from the regular
|
|
|
|
|
expression contained in the sequence of characters [first, last), and
|
|
|
|
|
interpreted according to the <a href="syntax_option_type.html">option flags</a>
|
|
|
|
|
specified in <i>f</i>. The postconditions of this function are indicated in the
|
|
|
|
|
table:</p>
|
|
|
|
|
<div align="center">
|
|
|
|
|
<center>
|
|
|
|
|
<table id="Table8" cellspacing="1" cellpadding="7" width="624" border="1">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p><b>Element</b></p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p><b>Value</b></p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>empty()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>false</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>size()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>distance(first,last)</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>str()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>basic_string<charT>(first,last)</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>flags()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>f</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>mark_count()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>The number of marked sub-expressions within the expression.</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</center>
|
|
|
|
|
</div>
|
|
|
|
|
<pre><A name=o1></A>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
basic_regex& operator=(const basic_regex& e);
|
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns the result of <code>assign(e.str(), e.flags())</code>.</p>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<pre><A name=o2></A>basic_regex& operator=(const charT* ptr);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Requires:</b> <i>p</i> shall not be a null pointer.</p>
|
|
|
|
|
<p><b>Effects:</b> Returns the result of <code>assign(ptr)</code>.</p>
|
|
|
|
|
<pre><A name=o3></A>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
template <class ST, class SA>
|
|
|
|
|
basic_regex& operator=(const basic_string<charT, ST, SA>& p);
|
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns the result of <code>assign(p)</code>.</p>
|
2005-08-03 19:43:36 +00:00
|
|
|
|
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<h4>basic_regex iterators</h4>
|
2005-08-03 19:43:36 +00:00
|
|
|
|
<pre><A name=m1>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
const_iterator begin() const;
|
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns a starting iterator to a sequence of characters
|
|
|
|
|
representing the regular expression.</p>
|
2005-08-03 19:43:36 +00:00
|
|
|
|
<pre><A name=m2>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
const_iterator end() const;
|
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns termination iterator to a sequence of characters
|
|
|
|
|
representing the regular expression.</p>
|
|
|
|
|
<h4>basic_regex capacity</h4>
|
2005-08-03 19:43:36 +00:00
|
|
|
|
<pre><A name=m3>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
size_type size() const;
|
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns the length of the sequence of characters representing
|
|
|
|
|
the regular expression.</p>
|
2005-08-03 19:43:36 +00:00
|
|
|
|
<pre><A name=m4>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
size_type max_size() const;
|
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns the maximum length of the sequence of characters
|
|
|
|
|
representing the regular expression.</p>
|
|
|
|
|
<pre><A name=m5></A>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
bool empty() const;
|
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns <b>true</b> if the object does not contain a valid
|
|
|
|
|
regular expression, otherwise <b>false</b>.</p>
|
|
|
|
|
<pre><A name=m6></A>unsigned mark_count() const;
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns the number of marked sub-expressions within the regular
|
|
|
|
|
expresion.</p>
|
|
|
|
|
<h4>basic_regex assign</h4>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<pre><A name=a1>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
basic_regex& assign(const basic_regex& that);
|
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns <code>assign(that.str(), that.flags())</code>.</p>
|
|
|
|
|
<pre><A name=a2></A>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
basic_regex& assign(const charT* ptr, flag_type f = regex_constants::normal);
|
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns <code>assign(string_type(ptr), f)</code>.</p>
|
|
|
|
|
<PRE><A name=a3></A><A name=a3></A>basic_regex& assign(const charT* ptr, unsigned int len, flag_type f);</PRE>
|
|
|
|
|
<P><B>Effects:</B> Returns <CODE>assign(string_type(ptr, len), f)</CODE>.</P>
|
|
|
|
|
<PRE><A name=a4></A>template <class string_traits, class A>
|
|
|
|
|
<A name=a6></A>basic_regex& assign(const basic_string<charT, string_traits, A>& s,
|
2003-05-17 11:45:48 +00:00
|
|
|
|
flag_type f = regex_constants::normal);
|
2003-10-21 11:18:40 +00:00
|
|
|
|
</PRE>
|
|
|
|
|
<p><b>Throws:</b> <code>bad_expression</code> if <i>s</i> is not a valid regular
|
|
|
|
|
expression.</p>
|
|
|
|
|
<p><b>Returns:</b> <code>*this</code>.</p>
|
|
|
|
|
<p><b>Effects:</b> Assigns the regular expression contained in the string <i>s</i>,
|
|
|
|
|
interpreted according the <a href="syntax_option_type.html">option flags</a> specified
|
|
|
|
|
in <i>f</i>. The postconditions of this function are indicated in the table:</p>
|
|
|
|
|
<div align="center">
|
|
|
|
|
<center>
|
|
|
|
|
<table id="Table9" cellspacing="1" cellpadding="7" width="624" border="1">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p><b>Element</b></p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p><b>Value</b></p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>empty()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>false</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>size()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>s.size()</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>str()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>s</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>flags()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>f</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>mark_count()</p>
|
|
|
|
|
</td>
|
|
|
|
|
<td valign="top" width="50%">
|
|
|
|
|
<p>The number of marked sub-expressions within the expression.</p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</center>
|
|
|
|
|
</div>
|
|
|
|
|
<pre>
|
|
|
|
|
|
|
|
|
|
</pre>
|
|
|
|
|
<pre><A name=a5></A>template <class InputIterator>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
basic_regex& assign(InputIterator first, InputIterator last,
|
|
|
|
|
flag_type f = regex_constants::normal);
|
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Requires:</b> The type InputIterator corresponds to the Input Iterator
|
|
|
|
|
requirements (24.1.1).</p>
|
|
|
|
|
<p><b>Effects:</b> Returns <code>assign(string_type(first, last), f)</code>.</p>
|
|
|
|
|
<h4>basic_regex constant operations</h4>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<pre><A name=m7></A><A name=m8></A>flag_type flags() const;
|
2003-10-21 11:18:40 +00:00
|
|
|
|
</pre>
|
|
|
|
|
<p><b>Effects:</b> Returns a copy of the regular expression syntax flags that were
|
|
|
|
|
passed to the object's constructor, or the last call to <code>assign.</code></p>
|
|
|
|
|
<pre><A name=m9></A>basic_string<charT> str() const;
|
|
|
|
|
</pre>
|
|
|
|
|
<p><b>Effects:</b> Returns a copy of the character sequence passed to the object's
|
|
|
|
|
constructor, or the last call to <code>assign.</code></p>
|
|
|
|
|
<pre><A name=m10></A>int compare(basic_regex& e)const;
|
|
|
|
|
</pre>
|
|
|
|
|
<p><b>Effects:</b> If <code>flags() == e.flags()</code> then returns <code>str().compare(e.str())</code>,
|
|
|
|
|
otherwise returns <code>flags() - e.flags()</code>.</p>
|
|
|
|
|
<h4>basic_regex locale</h4>
|
|
|
|
|
<pre><A name=m11></A>locale_type imbue(locale_type l);
|
|
|
|
|
</pre>
|
|
|
|
|
<p><b>Effects:</b> Returns the result of <code>traits_inst.imbue(l)</code> where <code>
|
|
|
|
|
traits_inst</code> is a (default initialized) instance of the template
|
|
|
|
|
parameter <code>traits</code> stored within the object. Calls to imbue
|
|
|
|
|
invalidate any currently contained regular expression.</p>
|
|
|
|
|
<p><b>Postcondition:</b> <code>empty() == true</code>.</p>
|
|
|
|
|
<pre><A name=m12></A>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
locale_type getloc() const;
|
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns the result of <code>traits_inst.getloc()</code> where <code>
|
|
|
|
|
traits_inst</code> is a (default initialized) instance of the template
|
|
|
|
|
parameter <code>traits</code> stored within the object.</p>
|
|
|
|
|
<h4>basic_regex swap</h4>
|
2005-08-03 19:43:36 +00:00
|
|
|
|
<pre><A name=m13>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
void swap(basic_regex& e) throw();
|
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Swaps the contents of the two regular expressions.</p>
|
|
|
|
|
<p><b>Postcondition:</b> <code>*this</code> contains the characters that were in <i>e</i>,
|
|
|
|
|
<i>e</i> contains the regular expression that was in <code>*this</code>.</p>
|
|
|
|
|
<p><b>Complexity:</b> constant time.</p>
|
|
|
|
|
<h4>basic_regex non-member functions</h4>
|
|
|
|
|
<h5>basic_regex non-member comparison operators </h5>
|
|
|
|
|
<P>Comparisons between basic_regex objects are provided on an experimental basis:
|
|
|
|
|
please note that these are likely to be removed from the standard library
|
|
|
|
|
proposal, so use with care if you are writing portable code.</P>
|
|
|
|
|
<pre><A name=o4></A>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
template <class charT, class traits>
|
|
|
|
|
bool operator == (const basic_regex<charT, traits>& lhs,
|
|
|
|
|
const basic_regex<charT, traits>& rhs);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) == 0</code>.</p>
|
|
|
|
|
<pre><A name=o5></A>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
template <class charT, class traits>
|
|
|
|
|
bool operator != (const basic_regex<charT, traits>& lhs,
|
|
|
|
|
const basic_regex<charT, traits>& rhs);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) != 0</code>.</p>
|
|
|
|
|
<pre><A name=o7></A>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
template <class charT, class traits>
|
|
|
|
|
bool operator < (const basic_regex<charT, traits>& lhs,
|
|
|
|
|
const basic_regex<charT, traits>& rhs);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) < 0</code>.</p>
|
|
|
|
|
<pre><A name=o8></A>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
template <class charT, class traits>
|
|
|
|
|
bool operator <= (const basic_regex<charT, traits>& lhs,
|
|
|
|
|
const basic_regex<charT, traits>& rhs);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) <= 0</code>.</p>
|
|
|
|
|
<pre><A name=o9></A>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
template <class charT, class traits>
|
|
|
|
|
bool operator >= (const basic_regex<charT, traits>& lhs,
|
|
|
|
|
const basic_regex<charT, traits>& rhs);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) >= 0</code>.</p>
|
|
|
|
|
<pre><A name=o10></A>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
template <class charT, class traits>
|
|
|
|
|
bool operator > (const basic_regex<charT, traits>& lhs,
|
|
|
|
|
const basic_regex<charT, traits>& rhs);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) > 0</code>.</p>
|
|
|
|
|
<h5>basic_regex inserter.</h5>
|
|
|
|
|
<P>The basic_regex stream inserter is provided on an experimental basis, and
|
|
|
|
|
outputs the textual representation of the expression to the stream:</P>
|
|
|
|
|
<pre><A name=o11></A>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
template <class charT, class io_traits, class re_traits>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
basic_ostream<charT, io_traits>&
|
|
|
|
|
operator << (basic_ostream<charT, io_traits>& os
|
2005-01-13 17:06:21 +00:00
|
|
|
|
const basic_regex<charT, re_traits>& e);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> Returns (os << e.str()).</p>
|
|
|
|
|
<h5>basic_regex non-member swap</h5>
|
|
|
|
|
<pre><A name=o12></A>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
template <class charT, class traits>
|
|
|
|
|
void swap(basic_regex<charT, traits>& lhs,
|
|
|
|
|
basic_regex<charT, traits>& rhs);
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</pre>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<p><b>Effects:</b> calls <code>lhs.swap(rhs)</code>.</p>
|
|
|
|
|
<hr>
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<p>Revised 7 Aug
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
2005-01-13 17:06:21 +00:00
|
|
|
|
2004
|
2003-10-21 11:18:40 +00:00
|
|
|
|
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
|
2003-10-24 10:51:38 +00:00
|
|
|
|
<p><i><EFBFBD> Copyright John Maddock 1998-
|
2005-01-13 17:06:21 +00:00
|
|
|
|
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2004<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
|
2003-10-24 10:51:38 +00:00
|
|
|
|
<P><I>Use, modification and distribution are subject to the Boost Software License,
|
|
|
|
|
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
|
|
|
|
|
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
|
2003-10-21 11:18:40 +00:00
|
|
|
|
</body>
|
2003-05-17 11:45:48 +00:00
|
|
|
|
</html>
|