Imported Upstream version 1.64.0
[platform/upstream/boost.git] / libs / regex / doc / html / boost_regex / ref / basic_regex.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>basic_regex</title>
5 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="../../index.html" title="Boost.Regex 5.1.3">
8 <link rel="up" href="../ref.html" title="Reference">
9 <link rel="prev" href="../ref.html" title="Reference">
10 <link rel="next" href="match_results.html" title="match_results">
11 </head>
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../more/index.htm">More</a></td>
20 </tr></table>
21 <hr>
22 <div class="spirit-nav">
23 <a accesskey="p" href="../ref.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="match_results.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="section">
26 <div class="titlepage"><div><div><h3 class="title">
27 <a name="boost_regex.ref.basic_regex"></a><a class="link" href="basic_regex.html" title="basic_regex">basic_regex</a>
28 </h3></div></div></div>
29 <h5>
30 <a name="boost_regex.ref.basic_regex.h0"></a>
31         <span class="phrase"><a name="boost_regex.ref.basic_regex.synopsis"></a></span><a class="link" href="basic_regex.html#boost_regex.ref.basic_regex.synopsis">Synopsis</a>
32       </h5>
33 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
34 </pre>
35 <p>
36         The template class <code class="computeroutput"><span class="identifier">basic_regex</span></code>
37         encapsulates regular expression parsing and compilation. The class takes
38         two template parameters:
39       </p>
40 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
41 <li class="listitem">
42             <code class="computeroutput"><span class="identifier">charT</span></code>: determines the
43             character type, i.e. either <code class="computeroutput"><span class="keyword">char</span></code>
44             or <code class="computeroutput"><span class="keyword">wchar_t</span></code>; see <a class="link" href="concepts/charT_concept.html" title="charT Requirements">charT
45             concept</a>.
46           </li>
47 <li class="listitem">
48             <code class="computeroutput"><span class="identifier">traits</span></code>: determines the
49             behavior of the character type, for example which character class names
50             are recognized. A default traits class is provided: <code class="computeroutput"><span class="identifier">regex_traits</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;</span></code>. See also <a class="link" href="concepts/traits_concept.html" title="Traits Class Requirements">traits
51             concept</a>.
52           </li>
53 </ul></div>
54 <p>
55         For ease of use there are two typedefs that define the two standard <code class="computeroutput"><span class="identifier">basic_regex</span></code> instances, unless you want
56         to use custom traits classes or non-standard character types (for example
57         see <a class="link" href="non_std_strings/icu.html" title="Working With Unicode and ICU String Types">unicode support</a>),
58         you won't need to use anything other than these:
59       </p>
60 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span>
61
62 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span> <span class="special">=</span> <span class="identifier">regex_traits</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;</span>  <span class="special">&gt;</span>
63 <span class="keyword">class</span> <span class="identifier">basic_regex</span><span class="special">;</span>
64
65 <span class="keyword">typedef</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span>      <span class="identifier">regex</span><span class="special">;</span>
66 <span class="keyword">typedef</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="keyword">wchar_t</span><span class="special">&gt;</span>   <span class="identifier">wregex</span><span class="special">;</span>
67
68 <span class="special">}</span>
69 </pre>
70 <p>
71         The definition of <code class="computeroutput"><span class="identifier">basic_regex</span></code>
72         follows: it is based very closely on class <code class="computeroutput"><span class="identifier">basic_string</span></code>,
73         and fulfils the requirements for a constant-container of <code class="computeroutput"><span class="identifier">charT</span></code>.
74       </p>
75 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span>
76
77 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span>  <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span> <span class="special">=</span> <span class="identifier">regex_traits</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;</span> <span class="special">&gt;</span>
78 <span class="keyword">class</span> <span class="identifier">basic_regex</span> <span class="special">{</span>
79    <span class="keyword">public</span><span class="special">:</span>
80    <span class="comment">// types:</span>
81    <span class="keyword">typedef</span>          <span class="identifier">charT</span>                                <span class="identifier">value_type</span><span class="special">;</span>
82    <span class="keyword">typedef</span>          <span class="identifier">implementation</span><span class="special">-</span><span class="identifier">specific</span>              <span class="identifier">const_iterator</span><span class="special">;</span>
83    <span class="keyword">typedef</span>          <span class="identifier">const_iterator</span>                       <span class="identifier">iterator</span><span class="special">;</span>
84    <span class="keyword">typedef</span>          <span class="identifier">charT</span><span class="special">&amp;</span>                               <span class="identifier">reference</span><span class="special">;</span>
85    <span class="keyword">typedef</span>          <span class="keyword">const</span> <span class="identifier">charT</span><span class="special">&amp;</span>                         <span class="identifier">const_reference</span><span class="special">;</span>
86    <span class="keyword">typedef</span>          <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span>                       <span class="identifier">difference_type</span><span class="special">;</span>
87    <span class="keyword">typedef</span>          <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span>                          <span class="identifier">size_type</span><span class="special">;</span>
88    <span class="keyword">typedef</span>          <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a>  <span class="identifier">flag_type</span><span class="special">;</span>
89    <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">locale_type</span>                  <span class="identifier">locale_type</span><span class="special">;</span>
90
91    <span class="comment">// constants:</span>
92    <span class="comment">// main option selection:</span>
93    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">normal</span>
94                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">normal</span><span class="special">;</span>
95    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">ECMAScript</span>
96                                                 <span class="special">=</span> <span class="identifier">normal</span><span class="special">;</span>
97    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">JavaScript</span>
98                                                 <span class="special">=</span> <span class="identifier">normal</span><span class="special">;</span>
99    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">JScript</span>
100                                                 <span class="special">=</span> <span class="identifier">normal</span><span class="special">;</span>
101    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">basic</span>
102                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">basic</span><span class="special">;</span>
103    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">extended</span>
104                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">extended</span><span class="special">;</span>
105    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">awk</span>
106                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">awk</span><span class="special">;</span>
107    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">grep</span>
108                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">grep</span><span class="special">;</span>
109    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">egrep</span>
110                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">egrep</span><span class="special">;</span>
111    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">sed</span>
112                                                 <span class="special">=</span> <span class="identifier">basic</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">sed</span><span class="special">;</span>
113    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">perl</span>
114                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">perl</span><span class="special">;</span>
115    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">literal</span>
116                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">literal</span><span class="special">;</span>
117
118    <span class="comment">// modifiers specific to perl expressions:</span>
119    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">no_mod_m</span>
120                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">no_mod_m</span><span class="special">;</span>
121    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">no_mod_s</span>
122                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">no_mod_s</span><span class="special">;</span>
123    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">mod_s</span>
124                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">mod_s</span><span class="special">;</span>
125    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">mod_x</span>
126                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">mod_x</span><span class="special">;</span>
127
128    <span class="comment">// modifiers specific to POSIX basic expressions:</span>
129    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">bk_plus_qm</span>
130                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">bk_plus_qm</span><span class="special">;</span>
131    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">bk_vbar</span>
132                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">bk_vbar</span>
133    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">no_char_classes</span>
134                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">no_char_classes</span>
135    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">no_intervals</span>
136                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">no_intervals</span>
137
138    <span class="comment">// common modifiers:</span>
139    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">nosubs</span>
140                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">nosubs</span><span class="special">;</span>
141    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">optimize</span>
142                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">optimize</span><span class="special">;</span>
143    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">collate</span>
144                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">collate</span><span class="special">;</span>
145    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">newline_alt</span>
146                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">newline_alt</span><span class="special">;</span>
147    <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">no_except</span>
148                                                 <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">newline_alt</span><span class="special">;</span>
149
150    <span class="comment">// construct/copy/destroy:</span>
151    <span class="keyword">explicit</span> <a class="link" href="basic_regex.html#boost_regex.basic_regex.construct1">basic_regex</a> <span class="special">();</span>
152    <span class="keyword">explicit</span> <a class="link" href="basic_regex.html#boost_regex.basic_regex.construct2">basic_regex</a><span class="special">(</span><span class="keyword">const</span>  <span class="identifier">charT</span><span class="special">*</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">flag_type</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">normal</span><span class="special">);</span>
153    <a class="link" href="basic_regex.html#boost_regex.basic_regex.construct3">basic_regex</a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">charT</span><span class="special">*</span> <span class="identifier">p1</span><span class="special">,</span> <span class="keyword">const</span>  <span class="identifier">charT</span><span class="special">*</span> <span class="identifier">p2</span><span class="special">,</span>
154                <span class="identifier">flag_type</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">normal</span><span class="special">);</span>
155    <a class="link" href="basic_regex.html#boost_regex.basic_regex.construct4">basic_regex</a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">charT</span><span class="special">*</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="identifier">len</span><span class="special">,</span> <span class="identifier">flag_type</span>  <span class="identifier">f</span><span class="special">);</span>
156    <a class="link" href="basic_regex.html#boost_regex.basic_regex.construct5">basic_regex</a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&amp;);</span>
157
158    <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ST</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">SA</span><span class="special">&gt;</span>
159    <span class="keyword">explicit</span> <a class="link" href="basic_regex.html#boost_regex.basic_regex.construct6">basic_regex</a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">ST</span><span class="special">,</span>  <span class="identifier">SA</span><span class="special">&gt;&amp;</span> <span class="identifier">p</span><span class="special">,</span>
160                         <span class="identifier">flag_type</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">normal</span><span class="special">);</span>
161
162    <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">InputIterator</span><span class="special">&gt;</span>
163    <a class="link" href="basic_regex.html#boost_regex.basic_regex.construct7">basic_regex</a><span class="special">(</span><span class="identifier">InputIterator</span> <span class="identifier">first</span><span class="special">,</span>  <span class="identifier">InputIterator</span> <span class="identifier">last</span><span class="special">,</span>
164                <span class="identifier">flag_type</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">normal</span><span class="special">);</span>
165
166    <span class="special">~</span><span class="identifier">basic_regex</span><span class="special">();</span>
167    <a class="link" href="basic_regex.html#boost_regex.basic_regex.opeq1">basic_regex&amp; operator=</a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&amp;);</span>
168    <a class="link" href="basic_regex.html#boost_regex.basic_regex.opeq2">basic_regex&amp; operator=</a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">charT</span><span class="special">*</span> <span class="identifier">ptr</span><span class="special">);</span>
169
170    <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ST</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">SA</span><span class="special">&gt;</span>
171    <a class="link" href="basic_regex.html#boost_regex.basic_regex.opeq3">basic_regex&amp; operator=</a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">ST</span><span class="special">,</span> <span class="identifier">SA</span><span class="special">&gt;&amp;</span> <span class="identifier">p</span><span class="special">);</span>
172    <span class="comment">// iterators: </span>
173    <a class="link" href="basic_regex.html#boost_regex.basic_regex.subexpression">std::pair&lt;const_iterator, const_iterator&gt; subexpression</a><span class="special">(</span><span class="identifier">size_type</span> <span class="identifier">n</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
174    <a class="link" href="basic_regex.html#boost_regex.basic_regex.begin">const_iterator begin</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
175    <a class="link" href="basic_regex.html#boost_regex.basic_regex.end">const_iterator end</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
176    <span class="comment">// capacity: </span>
177    <a class="link" href="basic_regex.html#boost_regex.basic_regex.size">size_type size</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
178    <a class="link" href="basic_regex.html#boost_regex.basic_regex.max_size">size_type max_size</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
179    <a class="link" href="basic_regex.html#boost_regex.basic_regex.empty">bool empty</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
180    <a class="link" href="basic_regex.html#boost_regex.basic_regex.mark_count">size_type mark_count</a><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
181    <span class="comment">//</span>
182    <span class="comment">// modifiers: </span>
183    <a class="link" href="basic_regex.html#boost_regex.basic_regex.assign1">basic_regex&amp; assign</a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&amp;</span> <span class="identifier">that</span><span class="special">);</span>
184    <a class="link" href="basic_regex.html#boost_regex.basic_regex.assign2">basic_regex&amp; assign</a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">charT</span><span class="special">*</span> <span class="identifier">ptr</span><span class="special">,</span>
185                        <span class="identifier">flag_type</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">normal</span><span class="special">);</span>
186    <a class="link" href="basic_regex.html#boost_regex.basic_regex.assign3">basic_regex&amp; assign</a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">charT</span><span class="special">*</span> <span class="identifier">ptr</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">len</span><span class="special">,</span> <span class="identifier">flag_type</span> <span class="identifier">f</span><span class="special">);</span>
187
188    <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">string_traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">A</span><span class="special">&gt;</span>
189    <a class="link" href="basic_regex.html#boost_regex.basic_regex.assign4">basic_regex&amp; assign</a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">string_traits</span><span class="special">,</span> <span class="identifier">A</span><span class="special">&gt;&amp;</span> <span class="identifier">s</span><span class="special">,</span>
190                        <span class="identifier">flag_type</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">normal</span><span class="special">);</span>
191
192    <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">InputIterator</span><span class="special">&gt;</span>
193    <a class="link" href="basic_regex.html#boost_regex.basic_regex.assign5">basic_regex&amp; assign</a><span class="special">(</span><span class="identifier">InputIterator</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">InputIterator</span> <span class="identifier">last</span><span class="special">,</span>
194                        <span class="identifier">flag_type</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">normal</span><span class="special">);</span>
195
196    <span class="comment">// const operations:</span>
197    <a class="link" href="basic_regex.html#boost_regex.basic_regex.flags">flag_type flags</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
198    <a class="link" href="basic_regex.html#boost_regex.basic_regex.status">int status</a><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
199    <a class="link" href="basic_regex.html#boost_regex.basic_regex.str">basic_string&lt;charT&gt; str</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
200    <a class="link" href="basic_regex.html#boost_regex.basic_regex.compare">int compare</a><span class="special">(</span><span class="identifier">basic_regex</span><span class="special">&amp;)</span> <span class="keyword">const</span><span class="special">;</span>
201    <span class="comment">// locale:</span>
202    <a class="link" href="basic_regex.html#boost_regex.basic_regex.imbue">locale_type imbue</a><span class="special">(</span><span class="identifier">locale_type</span> <span class="identifier">loc</span><span class="special">);</span>
203    <a class="link" href="basic_regex.html#boost_regex.basic_regex.getloc">locale_type getloc</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
204    <span class="comment">// swap</span>
205    <a class="link" href="basic_regex.html#boost_regex.basic_regex.swap">void swap</a><span class="special">(</span><span class="identifier">basic_regex</span><span class="special">&amp;)</span> <span class="keyword">throw</span><span class="special">();</span>
206 <span class="special">};</span>
207
208 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
209 <a class="link" href="basic_regex.html#boost_regex.basic_regex.op_eq">bool operator ==</a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
210                   <span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
211
212 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
213 <a class="link" href="basic_regex.html#boost_regex.basic_regex.op_ne">bool operator !=</a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
214                   <span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
215
216 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
217 <a class="link" href="basic_regex.html#boost_regex.basic_regex.op_lt">bool operator &lt;</a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
218                <span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
219
220 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
221 <a class="link" href="basic_regex.html#boost_regex.basic_regex.op_le">bool operator &lt;=</a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
222                   <span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
223
224 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
225 <a class="link" href="basic_regex.html#boost_regex.basic_regex.op_ge">bool operator &gt;=</a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
226                   <span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
227
228 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
229 <a class="link" href="basic_regex.html#boost_regex.basic_regex.op_gt">bool operator &gt;</a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
230                <span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
231
232 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">io_traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">re_traits</span><span class="special">&gt;</span>
233 <span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">io_traits</span><span class="special">&gt;&amp;</span>
234    <a class="link" href="basic_regex.html#boost_regex.basic_regex.op_stream">operator &lt;&lt;</a> <span class="special">(</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">io_traits</span><span class="special">&gt;&amp;</span> <span class="identifier">os</span><span class="special">,</span>
235                <span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">re_traits</span><span class="special">&gt;&amp;</span> <span class="identifier">e</span><span class="special">);</span>
236
237 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
238 <a class="link" href="basic_regex.html#boost_regex.basic_regex.op_swap">void swap</a><span class="special">(</span><span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
239          <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
240
241 <span class="keyword">typedef</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">regex</span><span class="special">;</span>
242 <span class="keyword">typedef</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="keyword">wchar_t</span><span class="special">&gt;</span> <span class="identifier">wregex</span><span class="special">;</span>
243
244 <span class="special">}</span> <span class="comment">// namespace boost</span>
245 </pre>
246 <h5>
247 <a name="boost_regex.ref.basic_regex.h1"></a>
248         <span class="phrase"><a name="boost_regex.ref.basic_regex.description"></a></span><a class="link" href="basic_regex.html#boost_regex.ref.basic_regex.description">Description</a>
249       </h5>
250 <p>
251         Class <code class="computeroutput"><span class="identifier">basic_regex</span></code> has the
252         following public members:
253       </p>
254 <pre class="programlisting"><span class="comment">// main option selection:</span>
255 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">normal</span>
256                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">normal</span><span class="special">;</span>
257 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">ECMAScript</span>
258                                           <span class="special">=</span> <span class="identifier">normal</span><span class="special">;</span>
259 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">JavaScript</span>
260                                           <span class="special">=</span> <span class="identifier">normal</span><span class="special">;</span>
261 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">JScript</span>
262                                           <span class="special">=</span> <span class="identifier">normal</span><span class="special">;</span>
263 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">basic</span>
264                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">basic</span><span class="special">;</span>
265 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">extended</span>
266                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">extended</span><span class="special">;</span>
267 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">awk</span>
268                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">awk</span><span class="special">;</span>
269 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">grep</span>
270                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">grep</span><span class="special">;</span>
271 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">egrep</span>
272                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">egrep</span><span class="special">;</span>
273 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">sed</span>
274                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">sed</span><span class="special">;</span>
275 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">perl</span>
276                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">perl</span><span class="special">;</span>
277 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">literal</span>
278                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">literal</span><span class="special">;</span>
279
280 <span class="comment">// modifiers specific to perl expressions:</span>
281 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">no_mod_m</span>
282                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">no_mod_m</span><span class="special">;</span>
283 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">no_mod_s</span>
284                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">no_mod_s</span><span class="special">;</span>
285 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">mod_s</span>
286                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">mod_s</span><span class="special">;</span>
287 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">mod_x</span>
288                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">mod_x</span><span class="special">;</span>
289
290 <span class="comment">// modifiers specific to POSIX basic expressions:</span>
291 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">bk_plus_qm</span>
292                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">bk_plus_qm</span><span class="special">;</span>
293 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">bk_vbar</span>
294                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">bk_vbar</span>
295 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">no_char_classes</span>
296                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">no_char_classes</span>
297 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">no_intervals</span>
298                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">no_intervals</span>
299
300 <span class="comment">// common modifiers:</span>
301 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">nosubs</span>
302                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">nosubs</span><span class="special">;</span>
303 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">optimize</span>
304                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">optimize</span><span class="special">;</span>
305 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">collate</span>
306                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">collate</span><span class="special">;</span>
307 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">regex_constants</span><span class="special">::</span> <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> <span class="identifier">newline_alt</span>
308                                           <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">newline_alt</span><span class="special">;</span>
309 </pre>
310 <p>
311         The meaning of these options is documented in the <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> section.
312       </p>
313 <p>
314         The static constant members are provided as synonyms for the constants declared
315         in namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex_constants</span></code>; for each constant of type
316         <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a>
317         declared in namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex_constants</span></code>
318         then a constant with the same name, type and value is declared within the
319         scope of basic_regex.
320       </p>
321 <a name="boost_regex.basic_regex.construct1"></a><pre class="programlisting"><span class="identifier">basic_regex</span><span class="special">();</span>
322 </pre>
323 <p>
324         <span class="bold"><strong>Effects</strong></span>: Constructs an object of class
325         <code class="computeroutput"><span class="identifier">basic_regex</span></code>.
326       </p>
327 <div class="table">
328 <a name="boost_regex.ref.basic_regex.basic_regex_default_construction"></a><p class="title"><b>Table&#160;1.&#160;basic_regex default construction postconditions</b></p>
329 <div class="table-contents"><table class="table" summary="basic_regex default construction postconditions">
330 <colgroup>
331 <col>
332 <col>
333 </colgroup>
334 <thead><tr>
335 <th>
336                 <p>
337                   Element
338                 </p>
339               </th>
340 <th>
341                 <p>
342                   Value
343                 </p>
344               </th>
345 </tr></thead>
346 <tbody>
347 <tr>
348 <td>
349                 <p>
350                   <code class="computeroutput"><span class="identifier">empty</span><span class="special">()</span></code>
351                 </p>
352               </td>
353 <td>
354                 <p>
355                   <code class="computeroutput"><span class="keyword">true</span></code>
356                 </p>
357               </td>
358 </tr>
359 <tr>
360 <td>
361                 <p>
362                   <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>
363                 </p>
364               </td>
365 <td>
366                 <p>
367                   <code class="computeroutput"><span class="number">0</span></code>
368                 </p>
369               </td>
370 </tr>
371 <tr>
372 <td>
373                 <p>
374                   <code class="computeroutput"><span class="identifier">str</span><span class="special">()</span></code>
375                 </p>
376               </td>
377 <td>
378                 <p>
379                   <code class="computeroutput"><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;()</span></code>
380                 </p>
381               </td>
382 </tr>
383 </tbody>
384 </table></div>
385 </div>
386 <br class="table-break"><a name="boost_regex.basic_regex.construct2"></a><pre class="programlisting"><span class="identifier">basic_regex</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">charT</span><span class="special">*</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">flag_type</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">normal</span><span class="special">);</span>
387 </pre>
388 <p>
389         <span class="bold"><strong>Requires</strong></span>: <span class="emphasis"><em>p</em></span> shall not
390         be a null pointer.
391       </p>
392 <p>
393         <span class="bold"><strong>Throws</strong></span>: <a class="link" href="bad_expression.html" title="bad_expression"><code class="computeroutput"><span class="identifier">bad_expression</span></code></a> if <span class="emphasis"><em>p</em></span>
394         is not a valid regular expression, unless the flag <code class="computeroutput"><span class="identifier">no_except</span></code>
395         is set in <span class="emphasis"><em>f</em></span>.
396       </p>
397 <p>
398         <span class="bold"><strong>Effects</strong></span>: Constructs an object of class
399         <a class="link" href="basic_regex.html" title="basic_regex"><code class="computeroutput"><span class="identifier">basic_regex</span></code></a>;
400         the object's internal finite state machine is constructed from the regular
401         expression contained in the null-terminated string <span class="emphasis"><em>p</em></span>,
402         and interpreted according to the <a class="link" href="syntax_option_type.html" title="syntax_option_type">option
403         flags</a> specified in <span class="emphasis"><em>f</em></span>.
404       </p>
405 <div class="table">
406 <a name="boost_regex.ref.basic_regex.postconditions_for_basic_regex_c"></a><p class="title"><b>Table&#160;2.&#160;Postconditions for basic_regex construction</b></p>
407 <div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
408 <colgroup>
409 <col>
410 <col>
411 </colgroup>
412 <thead><tr>
413 <th>
414                 <p>
415                   Element
416                 </p>
417               </th>
418 <th>
419                 <p>
420                   Value
421                 </p>
422               </th>
423 </tr></thead>
424 <tbody>
425 <tr>
426 <td>
427                 <p>
428                   <code class="computeroutput"><span class="identifier">empty</span><span class="special">()</span></code>
429                 </p>
430               </td>
431 <td>
432                 <p>
433                   <code class="computeroutput"><span class="keyword">false</span></code>
434                 </p>
435               </td>
436 </tr>
437 <tr>
438 <td>
439                 <p>
440                   <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>
441                 </p>
442               </td>
443 <td>
444                 <p>
445                   <code class="computeroutput"><span class="identifier">char_traits</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;::</span><span class="identifier">length</span><span class="special">(</span><span class="identifier">p</span><span class="special">)</span></code>
446                 </p>
447               </td>
448 </tr>
449 <tr>
450 <td>
451                 <p>
452                   <code class="computeroutput"><span class="identifier">str</span><span class="special">()</span></code>
453                 </p>
454               </td>
455 <td>
456                 <p>
457                   <code class="computeroutput"><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;(</span><span class="identifier">p</span><span class="special">)</span></code>
458                 </p>
459               </td>
460 </tr>
461 <tr>
462 <td>
463                 <p>
464                   <code class="computeroutput"><span class="identifier">flags</span><span class="special">()</span></code>
465                 </p>
466               </td>
467 <td>
468                 <p>
469                   <span class="emphasis"><em>f</em></span>
470                 </p>
471               </td>
472 </tr>
473 <tr>
474 <td>
475                 <p>
476                   <code class="computeroutput"><span class="identifier">mark_count</span><span class="special">()</span></code>
477                 </p>
478               </td>
479 <td>
480                 <p>
481                   The number of marked sub-expressions within the expression.
482                 </p>
483               </td>
484 </tr>
485 </tbody>
486 </table></div>
487 </div>
488 <br class="table-break"><a name="boost_regex.basic_regex.construct3"></a><pre class="programlisting"><span class="identifier">basic_regex</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">charT</span><span class="special">*</span> <span class="identifier">p1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">charT</span><span class="special">*</span> <span class="identifier">p2</span><span class="special">,</span>
489             <span class="identifier">flag_type</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">normal</span><span class="special">);</span>
490 </pre>
491 <p>
492         <span class="bold"><strong>Requires</strong></span>: <span class="emphasis"><em>p1</em></span> and <span class="emphasis"><em>p2</em></span>
493         are not null pointers, <code class="computeroutput"><span class="identifier">p1</span> <span class="special">&lt;</span> <span class="identifier">p2</span></code>.
494       </p>
495 <p>
496         <span class="bold"><strong>Throws</strong></span>: bad_expression if [p1,p2) is not
497         a valid regular expression, unless the flag <code class="computeroutput"><span class="identifier">no_except</span></code>
498         is set in <span class="emphasis"><em>f</em></span>.
499       </p>
500 <p>
501         <span class="bold"><strong>Effects</strong></span>: Constructs an object of class
502         <a class="link" href="basic_regex.html" title="basic_regex"><code class="computeroutput"><span class="identifier">basic_regex</span></code></a>;
503         the object's internal finite state machine is constructed from the regular
504         expression contained in the sequence of characters [p1,p2), and interpreted
505         according the <a class="link" href="syntax_option_type.html" title="syntax_option_type">option flags</a>
506         specified in <span class="emphasis"><em>f</em></span>.
507       </p>
508 <div class="table">
509 <a name="boost_regex.ref.basic_regex.postconditions_for_basic_regex_0"></a><p class="title"><b>Table&#160;3.&#160;Postconditions for basic_regex construction</b></p>
510 <div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
511 <colgroup>
512 <col>
513 <col>
514 </colgroup>
515 <thead><tr>
516 <th>
517                 <p>
518                   Element
519                 </p>
520               </th>
521 <th>
522                 <p>
523                   Value
524                 </p>
525               </th>
526 </tr></thead>
527 <tbody>
528 <tr>
529 <td>
530                 <p>
531                   <code class="computeroutput"><span class="identifier">empty</span><span class="special">()</span></code>
532                 </p>
533               </td>
534 <td>
535                 <p>
536                   <code class="computeroutput"><span class="keyword">false</span></code>
537                 </p>
538               </td>
539 </tr>
540 <tr>
541 <td>
542                 <p>
543                   <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>
544                 </p>
545               </td>
546 <td>
547                 <p>
548                   <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">distance</span><span class="special">(</span><span class="identifier">p1</span><span class="special">,</span><span class="identifier">p2</span><span class="special">)</span></code>
549                 </p>
550               </td>
551 </tr>
552 <tr>
553 <td>
554                 <p>
555                   <code class="computeroutput"><span class="identifier">str</span><span class="special">()</span></code>
556                 </p>
557               </td>
558 <td>
559                 <p>
560                   <code class="computeroutput"><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;(</span><span class="identifier">p1</span><span class="special">,</span><span class="identifier">p2</span><span class="special">)</span></code>
561                 </p>
562               </td>
563 </tr>
564 <tr>
565 <td>
566                 <p>
567                   <code class="computeroutput"><span class="identifier">flags</span><span class="special">()</span></code>
568                 </p>
569               </td>
570 <td>
571                 <p>
572                   <span class="emphasis"><em>f</em></span>
573                 </p>
574               </td>
575 </tr>
576 <tr>
577 <td>
578                 <p>
579                   <code class="computeroutput"><span class="identifier">mark_count</span><span class="special">()</span></code>
580                 </p>
581               </td>
582 <td>
583                 <p>
584                   The number of marked sub-expressions within the expression.
585                 </p>
586               </td>
587 </tr>
588 </tbody>
589 </table></div>
590 </div>
591 <br class="table-break"><a name="boost_regex.basic_regex.construct4"></a><pre class="programlisting"><span class="identifier">basic_regex</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">charT</span><span class="special">*</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="identifier">len</span><span class="special">,</span> <span class="identifier">flag_type</span> <span class="identifier">f</span><span class="special">);</span>
592 </pre>
593 <p>
594         <span class="bold"><strong>Requires</strong></span>: <span class="emphasis"><em>p</em></span> shall not
595         be a null pointer, <code class="computeroutput"><span class="identifier">len</span> <span class="special">&lt;</span>
596         <span class="identifier">max_size</span><span class="special">()</span></code>.
597       </p>
598 <p>
599         <span class="bold"><strong>Throws</strong></span>: <a class="link" href="bad_expression.html" title="bad_expression"><code class="computeroutput"><span class="identifier">bad_expression</span></code></a> if <span class="emphasis"><em>p</em></span>
600         is not a valid regular expression, unless the flag <code class="computeroutput"><span class="identifier">no_except</span></code>
601         is set in <span class="emphasis"><em>f</em></span>.
602       </p>
603 <p>
604         <span class="bold"><strong>Effects</strong></span>: Constructs an object of class
605         <a class="link" href="basic_regex.html" title="basic_regex"><code class="computeroutput"><span class="identifier">basic_regex</span></code></a>;
606         the object's internal finite state machine is constructed from the regular
607         expression contained in the sequence of characters [p, p+len), and interpreted
608         according the option flags specified in <span class="emphasis"><em>f</em></span>.
609       </p>
610 <div class="table">
611 <a name="boost_regex.ref.basic_regex.postconditions_for_basic_regex_1"></a><p class="title"><b>Table&#160;4.&#160;Postconditions for basic_regex construction</b></p>
612 <div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
613 <colgroup>
614 <col>
615 <col>
616 </colgroup>
617 <thead><tr>
618 <th>
619                 <p>
620                   Element
621                 </p>
622               </th>
623 <th>
624                 <p>
625                   Value
626                 </p>
627               </th>
628 </tr></thead>
629 <tbody>
630 <tr>
631 <td>
632                 <p>
633                   <code class="computeroutput"><span class="identifier">empty</span><span class="special">()</span></code>
634                 </p>
635               </td>
636 <td>
637                 <p>
638                   <code class="computeroutput"><span class="keyword">false</span></code>
639                 </p>
640               </td>
641 </tr>
642 <tr>
643 <td>
644                 <p>
645                   <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>
646                 </p>
647               </td>
648 <td>
649                 <p>
650                   <span class="emphasis"><em>len</em></span>
651                 </p>
652               </td>
653 </tr>
654 <tr>
655 <td>
656                 <p>
657                   <code class="computeroutput"><span class="identifier">str</span><span class="special">()</span></code>
658                 </p>
659               </td>
660 <td>
661                 <p>
662                   <code class="computeroutput"><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;(</span><span class="identifier">p</span><span class="special">,</span>
663                   <span class="identifier">len</span><span class="special">)</span></code>
664                 </p>
665               </td>
666 </tr>
667 <tr>
668 <td>
669                 <p>
670                   <code class="computeroutput"><span class="identifier">flags</span><span class="special">()</span></code>
671                 </p>
672               </td>
673 <td>
674                 <p>
675                   <span class="emphasis"><em>f</em></span>
676                 </p>
677               </td>
678 </tr>
679 <tr>
680 <td>
681                 <p>
682                   <code class="computeroutput"><span class="identifier">mark_count</span><span class="special">()</span></code>
683                 </p>
684               </td>
685 <td>
686                 <p>
687                   The number of marked sub-expressions within the expression.
688                 </p>
689               </td>
690 </tr>
691 </tbody>
692 </table></div>
693 </div>
694 <br class="table-break"><a name="boost_regex.basic_regex.construct5"></a><pre class="programlisting"><span class="identifier">basic_regex</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">);</span>
695 </pre>
696 <p>
697         <span class="bold"><strong>Effects</strong></span>: Constructs an object of class
698         <a class="link" href="basic_regex.html" title="basic_regex"><code class="computeroutput"><span class="identifier">basic_regex</span></code></a>
699         as a copy of the object <span class="emphasis"><em>e</em></span>.
700       </p>
701 <a name="boost_regex.basic_regex.construct6"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ST</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">SA</span><span class="special">&gt;</span>
702 <span class="identifier">basic_regex</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">ST</span><span class="special">,</span> <span class="identifier">SA</span><span class="special">&gt;&amp;</span> <span class="identifier">s</span><span class="special">,</span>
703             <span class="identifier">flag_type</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">normal</span><span class="special">);</span>
704 </pre>
705 <p>
706         <span class="bold"><strong>Throws</strong></span>: <a class="link" href="bad_expression.html" title="bad_expression"><code class="computeroutput"><span class="identifier">bad_expression</span></code></a> if <span class="emphasis"><em>s</em></span>
707         is not a valid regular expression, unless the flag <code class="computeroutput"><span class="identifier">no_except</span></code>
708         is set in <span class="emphasis"><em>f</em></span>.
709       </p>
710 <p>
711         <span class="bold"><strong>Effects</strong></span>: Constructs an object of class
712         <a class="link" href="basic_regex.html" title="basic_regex"><code class="computeroutput"><span class="identifier">basic_regex</span></code></a>;
713         the object's internal finite state machine is constructed from the regular
714         expression contained in the string <span class="emphasis"><em>s</em></span>, and interpreted
715         according to the <a class="link" href="syntax_option_type.html" title="syntax_option_type">option
716         flags</a> specified in <span class="emphasis"><em>f</em></span>.
717       </p>
718 <div class="table">
719 <a name="boost_regex.ref.basic_regex.postconditions_for_basic_regex_2"></a><p class="title"><b>Table&#160;5.&#160;Postconditions for basic_regex construction</b></p>
720 <div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
721 <colgroup>
722 <col>
723 <col>
724 </colgroup>
725 <thead><tr>
726 <th>
727                 <p>
728                   Element
729                 </p>
730               </th>
731 <th>
732                 <p>
733                   Value
734                 </p>
735               </th>
736 </tr></thead>
737 <tbody>
738 <tr>
739 <td>
740                 <p>
741                   <code class="computeroutput"><span class="identifier">empty</span><span class="special">()</span></code>
742                 </p>
743               </td>
744 <td>
745                 <p>
746                   <code class="computeroutput"><span class="keyword">false</span></code>
747                 </p>
748               </td>
749 </tr>
750 <tr>
751 <td>
752                 <p>
753                   <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>
754                 </p>
755               </td>
756 <td>
757                 <p>
758                   <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code>
759                 </p>
760               </td>
761 </tr>
762 <tr>
763 <td>
764                 <p>
765                   <code class="computeroutput"><span class="identifier">str</span><span class="special">()</span></code>
766                 </p>
767               </td>
768 <td>
769                 <p>
770                   <span class="emphasis"><em>s</em></span>
771                 </p>
772               </td>
773 </tr>
774 <tr>
775 <td>
776                 <p>
777                   <code class="computeroutput"><span class="identifier">flags</span><span class="special">()</span></code>
778                 </p>
779               </td>
780 <td>
781                 <p>
782                   <span class="emphasis"><em>f</em></span>
783                 </p>
784               </td>
785 </tr>
786 <tr>
787 <td>
788                 <p>
789                   <code class="computeroutput"><span class="identifier">mark_count</span><span class="special">()</span></code>
790                 </p>
791               </td>
792 <td>
793                 <p>
794                   The number of marked sub-expressions within the expression.
795                 </p>
796               </td>
797 </tr>
798 </tbody>
799 </table></div>
800 </div>
801 <br class="table-break"><a name="boost_regex.basic_regex.construct7"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardIterator</span><span class="special">&gt;</span>
802 <span class="identifier">basic_regex</span><span class="special">(</span><span class="identifier">ForwardIterator</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">ForwardIterator</span> <span class="identifier">last</span><span class="special">,</span>
803             <span class="identifier">flag_type</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">normal</span><span class="special">);</span>
804 </pre>
805 <p>
806         <span class="bold"><strong>Throws</strong></span>: <a class="link" href="bad_expression.html" title="bad_expression"><code class="computeroutput"><span class="identifier">bad_expression</span></code></a> if the sequence [first,
807         last) is not a valid regular expression, unless the flag <code class="computeroutput"><span class="identifier">no_except</span></code>
808         is set in <span class="emphasis"><em>f</em></span>.
809       </p>
810 <p>
811         <span class="bold"><strong>Effects</strong></span>: Constructs an object of class
812         <a class="link" href="basic_regex.html" title="basic_regex"><code class="computeroutput"><span class="identifier">basic_regex</span></code></a>;
813         the object's internal finite state machine is constructed from the regular
814         expression contained in the sequence of characters [first, last), and interpreted
815         according to the <a class="link" href="syntax_option_type.html" title="syntax_option_type">option
816         flags</a> specified in <span class="emphasis"><em>f</em></span>.
817       </p>
818 <div class="table">
819 <a name="boost_regex.ref.basic_regex.postconditions_for_basic_regex_3"></a><p class="title"><b>Table&#160;6.&#160;Postconditions for basic_regex construction</b></p>
820 <div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
821 <colgroup>
822 <col>
823 <col>
824 </colgroup>
825 <thead><tr>
826 <th>
827                 <p>
828                   Element
829                 </p>
830               </th>
831 <th>
832                 <p>
833                   Value
834                 </p>
835               </th>
836 </tr></thead>
837 <tbody>
838 <tr>
839 <td>
840                 <p>
841                   <code class="computeroutput"><span class="identifier">empty</span><span class="special">()</span></code>
842                 </p>
843               </td>
844 <td>
845                 <p>
846                   <code class="computeroutput"><span class="keyword">false</span></code>
847                 </p>
848               </td>
849 </tr>
850 <tr>
851 <td>
852                 <p>
853                   <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>
854                 </p>
855               </td>
856 <td>
857                 <p>
858                   <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span><span class="identifier">last</span><span class="special">)</span></code>
859                 </p>
860               </td>
861 </tr>
862 <tr>
863 <td>
864                 <p>
865                   <code class="computeroutput"><span class="identifier">str</span><span class="special">()</span></code>
866                 </p>
867               </td>
868 <td>
869                 <p>
870                   <code class="computeroutput"><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;(</span><span class="identifier">first</span><span class="special">,</span><span class="identifier">last</span><span class="special">)</span></code>
871                 </p>
872               </td>
873 </tr>
874 <tr>
875 <td>
876                 <p>
877                   <code class="computeroutput"><span class="identifier">flags</span><span class="special">()</span></code>
878                 </p>
879               </td>
880 <td>
881                 <p>
882                   <span class="emphasis"><em>f</em></span>
883                 </p>
884               </td>
885 </tr>
886 <tr>
887 <td>
888                 <p>
889                   <code class="computeroutput"><span class="identifier">mark_count</span><span class="special">()</span></code>
890                 </p>
891               </td>
892 <td>
893                 <p>
894                   The number of marked sub-expressions within the expression.
895                 </p>
896               </td>
897 </tr>
898 </tbody>
899 </table></div>
900 </div>
901 <br class="table-break"><a name="boost_regex.basic_regex.opeq1"></a><pre class="programlisting"><span class="identifier">basic_regex</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">);</span>
902 </pre>
903 <p>
904         <span class="bold"><strong>Effects</strong></span>: Returns the result of <code class="computeroutput"><span class="identifier">assign</span><span class="special">(</span><span class="identifier">e</span><span class="special">.</span><span class="identifier">str</span><span class="special">(),</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">flags</span><span class="special">())</span></code>.
905       </p>
906 <a name="boost_regex.basic_regex.opeq2"></a><pre class="programlisting"><span class="identifier">basic_regex</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="keyword">const</span> <span class="identifier">charT</span><span class="special">*</span> <span class="identifier">ptr</span><span class="special">);</span>
907 </pre>
908 <p>
909         <span class="bold"><strong>Requires</strong></span>: <span class="emphasis"><em>p</em></span> shall not
910         be a null pointer.
911       </p>
912 <p>
913         <span class="bold"><strong>Effects</strong></span>: Returns the result of <code class="computeroutput"><span class="identifier">assign</span><span class="special">(</span><span class="identifier">ptr</span><span class="special">)</span></code>.
914       </p>
915 <a name="boost_regex.basic_regex.opeq3"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ST</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">SA</span><span class="special">&gt;</span>
916 <span class="identifier">basic_regex</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="keyword">const</span> <span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">ST</span><span class="special">,</span> <span class="identifier">SA</span><span class="special">&gt;&amp;</span> <span class="identifier">p</span><span class="special">);</span>
917 </pre>
918 <p>
919         <span class="bold"><strong>Effects</strong></span>: Returns the result of <code class="computeroutput"><span class="identifier">assign</span><span class="special">(</span><span class="identifier">p</span><span class="special">)</span></code>.
920       </p>
921 <a name="boost_regex.basic_regex.subexpression"></a><pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">&gt;</span> <span class="identifier">subexpression</span><span class="special">(</span><span class="identifier">size_type</span> <span class="identifier">n</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
922 </pre>
923 <p>
924         <span class="bold"><strong>Effects</strong></span>: Returns a pair of iterators denoting
925         the location of marked subexpression <span class="emphasis"><em>n</em></span> within the original
926         regular expression string. The returned iterators are relative to <code class="computeroutput"><span class="identifier">begin</span><span class="special">()</span></code>
927         and <code class="computeroutput"><span class="identifier">end</span><span class="special">()</span></code>.
928       </p>
929 <p>
930         <span class="bold"><strong>Requires</strong></span>: The expression must have been
931         compiled with the <a class="link" href="syntax_option_type.html" title="syntax_option_type"><code class="computeroutput"><span class="identifier">syntax_option_type</span></code></a> save_subexpression_location
932         set. Argument <span class="emphasis"><em>n</em></span> must be in within the range <code class="computeroutput"><span class="number">0</span> <span class="special">&lt;=</span> <span class="identifier">n</span>
933         <span class="special">&lt;</span> <span class="identifier">mark_count</span><span class="special">()</span></code>.
934       </p>
935 <a name="boost_regex.basic_regex.begin"></a><pre class="programlisting"><span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
936 </pre>
937 <p>
938         <span class="bold"><strong>Effects</strong></span>: Returns a starting iterator to
939         a sequence of characters representing the regular expression.
940       </p>
941 <a name="boost_regex.basic_regex.end"></a><pre class="programlisting"><span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
942 </pre>
943 <p>
944         <span class="bold"><strong>Effects</strong></span>: Returns termination iterator to
945         a sequence of characters representing the regular expression.
946       </p>
947 <a name="boost_regex.basic_regex.size"></a><pre class="programlisting"><span class="identifier">size_type</span> <span class="identifier">size</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
948 </pre>
949 <p>
950         <span class="bold"><strong>Effects</strong></span>: Returns the length of the sequence
951         of characters representing the regular expression.
952       </p>
953 <a name="boost_regex.basic_regex.max_size"></a><pre class="programlisting"><span class="identifier">size_type</span> <span class="identifier">max_size</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
954 </pre>
955 <p>
956         <span class="bold"><strong>Effects</strong></span>: Returns the maximum length of the
957         sequence of characters representing the regular expression.
958       </p>
959 <a name="boost_regex.basic_regex.empty"></a><pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">empty</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
960 </pre>
961 <p>
962         <span class="bold"><strong>Effects</strong></span>: Returns true if the object does
963         not contain a valid regular expression, otherwise false.
964       </p>
965 <a name="boost_regex.basic_regex.mark_count"></a><pre class="programlisting"><span class="identifier">size_type</span> <span class="identifier">mark_count</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
966 </pre>
967 <p>
968         <span class="bold"><strong>Effects</strong></span>: Returns the number of marked sub-expressions
969         within the regular expression.
970       </p>
971 <a name="boost_regex.basic_regex.assign1"></a><pre class="programlisting"><span class="identifier">basic_regex</span><span class="special">&amp;</span> <span class="identifier">assign</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&amp;</span> <span class="identifier">that</span><span class="special">);</span>
972 </pre>
973 <p>
974         <span class="bold"><strong>Effects</strong></span>: Returns <a class="link" href="basic_regex.html#boost_regex.basic_regex.assign4"><code class="computeroutput"><span class="identifier">assign</span><span class="special">(</span><span class="identifier">that</span><span class="special">.</span><span class="identifier">str</span><span class="special">(),</span> <span class="identifier">that</span><span class="special">.</span><span class="identifier">flags</span><span class="special">())</span></code></a>.
975       </p>
976 <a name="boost_regex.basic_regex.assign2"></a><pre class="programlisting"><span class="identifier">basic_regex</span><span class="special">&amp;</span> <span class="identifier">assign</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">charT</span><span class="special">*</span> <span class="identifier">ptr</span><span class="special">,</span> <span class="identifier">flag_type</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">normal</span><span class="special">);</span>
977 </pre>
978 <p>
979         <span class="bold"><strong>Effects</strong></span>: Returns <a class="link" href="basic_regex.html#boost_regex.basic_regex.assign4"><code class="computeroutput"><span class="identifier">assign</span><span class="special">(</span><span class="identifier">string_type</span><span class="special">(</span><span class="identifier">ptr</span><span class="special">),</span> <span class="identifier">f</span><span class="special">)</span></code></a>.
980       </p>
981 <a name="boost_regex.basic_regex.assign3"></a><pre class="programlisting"><span class="identifier">basic_regex</span><span class="special">&amp;</span> <span class="identifier">assign</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">charT</span><span class="special">*</span> <span class="identifier">ptr</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">len</span><span class="special">,</span> <span class="identifier">flag_type</span> <span class="identifier">f</span><span class="special">);</span>
982 </pre>
983 <p>
984         <span class="bold"><strong>Effects</strong></span>: Returns <a class="link" href="basic_regex.html#boost_regex.basic_regex.assign4"><code class="computeroutput"><span class="identifier">assign</span><span class="special">(</span><span class="identifier">string_type</span><span class="special">(</span><span class="identifier">ptr</span><span class="special">,</span> <span class="identifier">len</span><span class="special">),</span> <span class="identifier">f</span><span class="special">)</span></code></a>.
985       </p>
986 <a name="boost_regex.basic_regex.assign4"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">string_traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">A</span><span class="special">&gt;</span>
987 <span class="identifier">basic_regex</span><span class="special">&amp;</span> <span class="identifier">assign</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">string_traits</span><span class="special">,</span> <span class="identifier">A</span><span class="special">&gt;&amp;</span> <span class="identifier">s</span><span class="special">,</span>
988                   <span class="identifier">flag_type</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">normal</span><span class="special">);</span>
989 </pre>
990 <p>
991         <span class="bold"><strong>Throws</strong></span>: <a class="link" href="bad_expression.html" title="bad_expression"><code class="computeroutput"><span class="identifier">bad_expression</span></code></a> if <span class="emphasis"><em>s</em></span>
992         is not a valid regular expression, unless the flag <code class="computeroutput"><span class="identifier">no_except</span></code>
993         is set in <span class="emphasis"><em>f</em></span>.
994       </p>
995 <p>
996         <span class="bold"><strong>Returns</strong></span>: *this.
997       </p>
998 <p>
999         <span class="bold"><strong>Effects</strong></span>: Assigns the regular expression
1000         contained in the string <span class="emphasis"><em>s</em></span>, interpreted according the
1001         <a class="link" href="syntax_option_type.html" title="syntax_option_type">option flags</a> specified
1002         in <span class="emphasis"><em>f</em></span>.
1003       </p>
1004 <div class="table">
1005 <a name="boost_regex.ref.basic_regex.postconditions_for_basic_regex_a"></a><p class="title"><b>Table&#160;7.&#160;Postconditions for basic_regex::assign</b></p>
1006 <div class="table-contents"><table class="table" summary="Postconditions for basic_regex::assign">
1007 <colgroup>
1008 <col>
1009 <col>
1010 </colgroup>
1011 <thead><tr>
1012 <th>
1013                 <p>
1014                   Element
1015                 </p>
1016               </th>
1017 <th>
1018                 <p>
1019                   Value
1020                 </p>
1021               </th>
1022 </tr></thead>
1023 <tbody>
1024 <tr>
1025 <td>
1026                 <p>
1027                   <code class="computeroutput"><span class="identifier">empty</span><span class="special">()</span></code>
1028                 </p>
1029               </td>
1030 <td>
1031                 <p>
1032                   <code class="computeroutput"><span class="keyword">false</span></code>
1033                 </p>
1034               </td>
1035 </tr>
1036 <tr>
1037 <td>
1038                 <p>
1039                   <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>
1040                 </p>
1041               </td>
1042 <td>
1043                 <p>
1044                   <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code>
1045                 </p>
1046               </td>
1047 </tr>
1048 <tr>
1049 <td>
1050                 <p>
1051                   <code class="computeroutput"><span class="identifier">str</span><span class="special">()</span></code>
1052                 </p>
1053               </td>
1054 <td>
1055                 <p>
1056                   <span class="emphasis"><em>s</em></span>
1057                 </p>
1058               </td>
1059 </tr>
1060 <tr>
1061 <td>
1062                 <p>
1063                   <code class="computeroutput"><span class="identifier">flags</span><span class="special">()</span></code>
1064                 </p>
1065               </td>
1066 <td>
1067                 <p>
1068                   <span class="emphasis"><em>f</em></span>
1069                 </p>
1070               </td>
1071 </tr>
1072 <tr>
1073 <td>
1074                 <p>
1075                   <code class="computeroutput"><span class="identifier">mark_count</span><span class="special">()</span></code>
1076                 </p>
1077               </td>
1078 <td>
1079                 <p>
1080                   The number of marked sub-expressions within the expression.
1081                 </p>
1082               </td>
1083 </tr>
1084 </tbody>
1085 </table></div>
1086 </div>
1087 <br class="table-break"><a name="boost_regex.basic_regex.assign5"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">InputIterator</span><span class="special">&gt;</span>
1088 <span class="identifier">basic_regex</span><span class="special">&amp;</span> <span class="identifier">assign</span><span class="special">(</span><span class="identifier">InputIterator</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">InputIterator</span> <span class="identifier">last</span><span class="special">,</span>
1089                     <span class="identifier">flag_type</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">normal</span><span class="special">);</span>
1090 </pre>
1091 <p>
1092         <span class="bold"><strong>Requires</strong></span>: The type <code class="computeroutput"><span class="identifier">InputIterator</span></code>
1093         corresponds to the <a href="http://input_iterator" target="_top">Input Iterator requirements
1094         (24.1.1)</a>.
1095       </p>
1096 <p>
1097         <span class="bold"><strong>Effects</strong></span>: Returns <a class="link" href="basic_regex.html#boost_regex.basic_regex.assign4"><code class="computeroutput"><span class="identifier">assign</span><span class="special">(</span><span class="identifier">string_type</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">),</span> <span class="identifier">f</span><span class="special">)</span></code></a>.
1098       </p>
1099 <a name="boost_regex.basic_regex.flags"></a><pre class="programlisting"><span class="identifier">flag_type</span> <span class="identifier">flags</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
1100 </pre>
1101 <p>
1102         <span class="bold"><strong>Effects</strong></span>: Returns a copy of the <a class="link" href="syntax_option_type.html" title="syntax_option_type">regular
1103         expression syntax flags</a> that were passed to the object's constructor,
1104         or the last call to <code class="computeroutput"><span class="identifier">assign</span></code>.
1105       </p>
1106 <a name="boost_regex.basic_regex.status"></a><pre class="programlisting"><span class="keyword">int</span> <span class="identifier">status</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
1107 </pre>
1108 <p>
1109         <span class="bold"><strong>Effects</strong></span>: Returns zero if the expression
1110         contains a valid regular expression, otherwise an error code. This member
1111         function is retained for use in environments that cannot use exception handling.
1112       </p>
1113 <a name="boost_regex.basic_regex.str"></a><pre class="programlisting"><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;</span> <span class="identifier">str</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
1114 </pre>
1115 <p>
1116         <span class="bold"><strong>Effects</strong></span>: Returns a copy of the character
1117         sequence passed to the object's constructor, or the last call to assign.
1118       </p>
1119 <a name="boost_regex.basic_regex.compare"></a><pre class="programlisting"><span class="keyword">int</span> <span class="identifier">compare</span><span class="special">(</span><span class="identifier">basic_regex</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
1120 </pre>
1121 <p>
1122         <span class="bold"><strong>Effects</strong></span>: If <code class="computeroutput"><span class="identifier">flags</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">flags</span><span class="special">()</span></code> then returns <code class="computeroutput"><span class="identifier">str</span><span class="special">().</span><span class="identifier">compare</span><span class="special">(</span><span class="identifier">e</span><span class="special">.</span><span class="identifier">str</span><span class="special">())</span></code>,
1123         otherwise returns <code class="computeroutput"><span class="identifier">flags</span><span class="special">()</span>
1124         <span class="special">-</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">flags</span><span class="special">()</span></code>.
1125       </p>
1126 <a name="boost_regex.basic_regex.imbue"></a><pre class="programlisting"><span class="identifier">locale_type</span> <span class="identifier">imbue</span><span class="special">(</span><span class="identifier">locale_type</span> <span class="identifier">l</span><span class="special">);</span>
1127 </pre>
1128 <p>
1129         <span class="bold"><strong>Effects</strong></span>: Returns the result of <code class="computeroutput"><span class="identifier">traits_inst</span><span class="special">.</span><span class="identifier">imbue</span><span class="special">(</span><span class="identifier">l</span><span class="special">)</span></code> where
1130         <code class="computeroutput"><span class="identifier">traits_inst</span></code> is a (default
1131         initialized) instance of the template parameter <code class="computeroutput"><span class="identifier">traits</span></code>
1132         stored within the object. Calls to <code class="computeroutput"><span class="identifier">imbue</span></code>
1133         invalidate any currently contained regular expression.
1134       </p>
1135 <p>
1136         <span class="bold"><strong>Postcondition</strong></span>: <code class="computeroutput"><span class="identifier">empty</span><span class="special">()</span> <span class="special">==</span> <span class="keyword">true</span></code>.
1137       </p>
1138 <a name="boost_regex.basic_regex.getloc"></a><pre class="programlisting"><span class="identifier">locale_type</span> <span class="identifier">getloc</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
1139 </pre>
1140 <p>
1141         <span class="bold"><strong>Effects</strong></span>: Returns the result of <code class="computeroutput"><span class="identifier">traits_inst</span><span class="special">.</span><span class="identifier">getloc</span><span class="special">()</span></code>
1142         where <code class="computeroutput"><span class="identifier">traits_inst</span></code> is a (default
1143         initialized) instance of the template parameter traits stored within the
1144         object.
1145       </p>
1146 <a name="boost_regex.basic_regex.swap"></a><pre class="programlisting"><span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span><span class="identifier">basic_regex</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span> <span class="keyword">throw</span><span class="special">();</span>
1147 </pre>
1148 <p>
1149         <span class="bold"><strong>Effects</strong></span>: Swaps the contents of the two regular
1150         expressions.
1151       </p>
1152 <p>
1153         <span class="bold"><strong>Postcondition</strong></span>: <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> contains the regular expression that
1154         was in <span class="emphasis"><em>e</em></span>, <span class="emphasis"><em>e</em></span> contains the regular
1155         expression that was in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
1156       </p>
1157 <p>
1158         <span class="bold"><strong>Complexity</strong></span>: constant time.
1159       </p>
1160 <div class="note"><table border="0" summary="Note">
1161 <tr>
1162 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
1163 <th align="left">Note</th>
1164 </tr>
1165 <tr><td align="left" valign="top"><p>
1166           Comparisons between <a class="link" href="basic_regex.html" title="basic_regex"><code class="computeroutput"><span class="identifier">basic_regex</span></code></a> objects are provided
1167           on an experimental basis: please note that these are not present in the
1168           <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
1169           Report on C++ Library Extensions</a>, so use with care if you are writing
1170           code that may need to be ported to other implementations of <a class="link" href="basic_regex.html" title="basic_regex"><code class="computeroutput"><span class="identifier">basic_regex</span></code></a>.
1171         </p></td></tr>
1172 </table></div>
1173 <a name="boost_regex.basic_regex.op_eq"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
1174 <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
1175                   <span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
1176 </pre>
1177 <p>
1178         <span class="bold"><strong>Effects</strong></span>: Returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">compare</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">)</span>
1179         <span class="special">==</span> <span class="number">0</span></code>.
1180       </p>
1181 <a name="boost_regex.basic_regex.op_ne"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
1182 <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
1183                   <span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
1184 </pre>
1185 <p>
1186         <span class="bold"><strong>Effects</strong></span>: Returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">compare</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">)</span>
1187         <span class="special">!=</span> <span class="number">0</span></code>.
1188       </p>
1189 <a name="boost_regex.basic_regex.op_lt"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
1190 <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
1191                <span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
1192 </pre>
1193 <p>
1194         <span class="bold"><strong>Effects</strong></span>: Returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">compare</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">)</span>
1195         <span class="special">&lt;</span> <span class="number">0</span></code>.
1196       </p>
1197 <a name="boost_regex.basic_regex.op_le"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
1198 <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
1199                   <span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
1200 </pre>
1201 <p>
1202         <span class="bold"><strong>Effects</strong></span>: Returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">compare</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">)</span>
1203         <span class="special">&lt;=</span> <span class="number">0</span></code>.
1204       </p>
1205 <a name="boost_regex.basic_regex.op_ge"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
1206 <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
1207                   <span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
1208 </pre>
1209 <p>
1210         <span class="bold"><strong>Effects</strong></span>: Returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">compare</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">)</span>
1211         <span class="special">&gt;=</span> <span class="number">0</span></code>.
1212       </p>
1213 <a name="boost_regex.basic_regex.op_gt"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
1214 <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
1215                <span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
1216 </pre>
1217 <p>
1218         <span class="bold"><strong>Effects</strong></span>: Returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">compare</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">)</span>
1219         <span class="special">&gt;</span> <span class="number">0</span></code>.
1220       </p>
1221 <div class="note"><table border="0" summary="Note">
1222 <tr>
1223 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
1224 <th align="left">Note</th>
1225 </tr>
1226 <tr><td align="left" valign="top"><p>
1227           The basic_regex stream inserter is provided on an experimental basis, and
1228           outputs the textual representation of the expression to the stream.
1229         </p></td></tr>
1230 </table></div>
1231 <a name="boost_regex.basic_regex.op_stream"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">io_traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">re_traits</span><span class="special">&gt;</span>
1232 <span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">io_traits</span><span class="special">&gt;&amp;</span>
1233    <span class="keyword">operator</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">io_traits</span><span class="special">&gt;&amp;</span> <span class="identifier">os</span>
1234                <span class="keyword">const</span> <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">re_traits</span><span class="special">&gt;&amp;</span> <span class="identifier">e</span><span class="special">);</span>
1235 </pre>
1236 <p>
1237         <span class="bold"><strong>Effects</strong></span>: Returns <code class="computeroutput"><span class="special">(</span><span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">str</span><span class="special">())</span></code>.
1238       </p>
1239 <a name="boost_regex.basic_regex.op_swap"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
1240 <span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span><span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
1241          <span class="identifier">basic_regex</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
1242 </pre>
1243 <p>
1244         <span class="bold"><strong>Effects</strong></span>: calls <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">swap</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">)</span></code>.
1245       </p>
1246 </div>
1247 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
1248 <td align="left"></td>
1249 <td align="right"><div class="copyright-footer">Copyright &#169; 1998-2013 John Maddock<p>
1250         Distributed under the Boost Software License, Version 1.0. (See accompanying
1251         file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
1252       </p>
1253 </div></td>
1254 </tr></table>
1255 <hr>
1256 <div class="spirit-nav">
1257 <a accesskey="p" href="../ref.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="match_results.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
1258 </div>
1259 </body>
1260 </html>