1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<html> 3<head> 4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5<title>Struct template basic_regex</title> 6<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> 7<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 8<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> 9<link rel="up" href="../../xpressive/reference.html#header.boost.xpressive.xpressive_fwd_hpp" title="Header <boost/xpressive/xpressive_fwd.hpp>"> 10<link rel="prev" href="op/throw_.html" title="Struct template throw_"> 11<link rel="next" href="c_regex_traits.html" title="Struct template c_regex_traits"> 12</head> 13<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 14<table cellpadding="2" width="100%"><tr> 15<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> 16<td align="center"><a href="../../../../index.html">Home</a></td> 17<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> 18<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> 19<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> 20<td align="center"><a href="../../../../more/index.htm">More</a></td> 21</tr></table> 22<hr> 23<div class="spirit-nav"> 24<a accesskey="p" href="op/throw_.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../xpressive/reference.html#header.boost.xpressive.xpressive_fwd_hpp"><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="c_regex_traits.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> 25</div> 26<div class="refentry"> 27<a name="boost.xpressive.basic_regex"></a><div class="titlepage"></div> 28<div class="refnamediv"> 29<h2><span class="refentrytitle">Struct template basic_regex</span></h2> 30<p>boost::xpressive::basic_regex — Class template <a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><> is a class for holding a compiled regular expression. </p> 31</div> 32<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> 33<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../xpressive/reference.html#header.boost.xpressive.xpressive_fwd_hpp" title="Header <boost/xpressive/xpressive_fwd.hpp>">boost/xpressive/xpressive_fwd.hpp</a>> 34 35</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> BidiIter<span class="special">></span> 36<span class="keyword">struct</span> <a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a> <span class="special">{</span> 37 <span class="comment">// <a class="link" href="basic_regex.html#boost.xpressive.basic_regexconstruct-copy-destruct">construct/copy/destruct</a></span> 38 <a class="link" href="basic_regex.html#id-1_3_47_5_18_2_1_1_4-bb"><span class="identifier">basic_regex</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> 39 <a class="link" href="basic_regex.html#id-1_3_47_5_18_2_1_1_5-bb"><span class="identifier">basic_regex</span></a><span class="special">(</span><a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> 40 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> <a class="link" href="basic_regex.html#id-1_3_47_5_18_2_1_1_7-bb"><span class="identifier">basic_regex</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> 41 <a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> <span class="special">&</span> <a class="link" href="basic_regex.html#id-1_3_47_5_18_2_1_1_6-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> 42 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> <a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> <span class="special">&</span> <a class="link" href="basic_regex.html#id-1_3_47_5_18_2_1_1_8-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> 43 44 <span class="comment">// <a class="link" href="basic_regex.html#id-1_3_47_5_18_2_1_1_3-bb">public member functions</a></span> 45 <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="basic_regex.html#id-1_3_47_5_18_2_1_1_3_1-bb"><span class="identifier">mark_count</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 46 <span class="identifier">regex_id_type</span> <a class="link" href="basic_regex.html#id-1_3_47_5_18_2_1_1_3_2-bb"><span class="identifier">regex_id</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 47 <span class="keyword">void</span> <a class="link" href="basic_regex.html#id-1_3_47_5_18_2_1_1_3_3-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> 48 49 <span class="comment">// <a class="link" href="basic_regex.html#id-1_3_47_5_18_2_1_1_9-bb">public static functions</a></span> 50 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputIter<span class="special">></span> 51 <span class="keyword">static</span> <a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> 52 <a class="link" href="basic_regex.html#id-1_3_47_5_18_2_1_1_9_1-bb"><span class="identifier">compile</span></a><span class="special">(</span><span class="identifier">InputIter</span><span class="special">,</span> <span class="identifier">InputIter</span><span class="special">,</span> <span class="identifier">flag_type</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">ECMAScript</span><span class="special">)</span><span class="special">;</span> 53 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputRange<span class="special">></span> 54 <span class="keyword">static</span> <a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> 55 <a class="link" href="basic_regex.html#id-1_3_47_5_18_2_1_1_9_2-bb"><span class="identifier">compile</span></a><span class="special">(</span><span class="identifier">InputRange</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">flag_type</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">ECMAScript</span><span class="special">)</span><span class="special">;</span> 56 <span class="keyword">static</span> <a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> 57 <a class="link" href="basic_regex.html#id-1_3_47_5_18_2_1_1_9_3-bb"><span class="identifier">compile</span></a><span class="special">(</span><span class="identifier">char_type</span> <span class="keyword">const</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">flag_type</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">ECMAScript</span><span class="special">)</span><span class="special">;</span> 58 <span class="keyword">static</span> <a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> 59 <a class="link" href="basic_regex.html#id-1_3_47_5_18_2_1_1_9_4-bb"><span class="identifier">compile</span></a><span class="special">(</span><span class="identifier">char_type</span> <span class="keyword">const</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">flag_type</span><span class="special">)</span><span class="special">;</span> 60<span class="special">}</span><span class="special">;</span></pre></div> 61<div class="refsect1"> 62<a name="id-1.3.47.5.19.11.4"></a><h2>Description</h2> 63<div class="refsect2"> 64<a name="id-1.3.47.5.19.11.4.2"></a><h3> 65<a name="boost.xpressive.basic_regexconstruct-copy-destruct"></a><code class="computeroutput">basic_regex</code> 66 public 67 construct/copy/destruct</h3> 68<div class="orderedlist"><ol class="orderedlist" type="1"> 69<li class="listitem"> 70<pre class="literallayout"><a name="id-1_3_47_5_18_2_1_1_4-bb"></a><span class="identifier">basic_regex</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre> 71<p> 72 73</p> 74<div class="variablelist"><table border="0" class="variablelist compact"> 75<colgroup> 76<col align="left" valign="top"> 77<col> 78</colgroup> 79<tbody> 80<tr> 81<td><p><span class="term">Postconditions:</span></p></td> 82<td><p>regex_id() == 0 </p></td> 83</tr> 84<tr> 85<td><p><span class="term">Postconditions:</span></p></td> 86<td><p>mark_count() == 0 </p></td> 87</tr> 88</tbody> 89</table></div> 90</li> 91<li class="listitem"> 92<pre class="literallayout"><a name="id-1_3_47_5_18_2_1_1_5-bb"></a><span class="identifier">basic_regex</span><span class="special">(</span><a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span><span class="special">;</span></pre> 93<p> 94 95 96</p> 97<div class="variablelist"><table border="0" class="variablelist compact"> 98<colgroup> 99<col align="left" valign="top"> 100<col> 101</colgroup> 102<tbody> 103<tr> 104<td><p><span class="term">Parameters:</span></p></td> 105<td><div class="variablelist"><table border="0" class="variablelist compact"> 106<colgroup> 107<col align="left" valign="top"> 108<col> 109</colgroup> 110<tbody><tr> 111<td><p><span class="term"><code class="computeroutput">that</code></span></p></td> 112<td><p>The <code class="computeroutput"><a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a></code> object to copy. </p></td> 113</tr></tbody> 114</table></div></td> 115</tr> 116<tr> 117<td><p><span class="term">Postconditions:</span></p></td> 118<td><p>regex_id() == that.regex_id() </p></td> 119</tr> 120<tr> 121<td><p><span class="term">Postconditions:</span></p></td> 122<td><p>mark_count() == that.mark_count() </p></td> 123</tr> 124</tbody> 125</table></div> 126</li> 127<li class="listitem"> 128<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> <a name="id-1_3_47_5_18_2_1_1_7-bb"></a><span class="identifier">basic_regex</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span></pre> 129<p>Construct from a static regular expression.</p> 130<p> 131 132 133 134</p> 135<div class="variablelist"><table border="0" class="variablelist compact"> 136<colgroup> 137<col align="left" valign="top"> 138<col> 139</colgroup> 140<tbody> 141<tr> 142<td><p><span class="term">Parameters:</span></p></td> 143<td><div class="variablelist"><table border="0" class="variablelist compact"> 144<colgroup> 145<col align="left" valign="top"> 146<col> 147</colgroup> 148<tbody><tr> 149<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> 150<td><p>The static regular expression </p></td> 151</tr></tbody> 152</table></div></td> 153</tr> 154<tr> 155<td><p><span class="term">Requires:</span></p></td> 156<td><p>Expr is the type of a static regular expression. </p></td> 157</tr> 158<tr> 159<td><p><span class="term">Postconditions:</span></p></td> 160<td><p>regex_id() != 0 </p></td> 161</tr> 162<tr> 163<td><p><span class="term">Postconditions:</span></p></td> 164<td><p>mark_count() >= 0 </p></td> 165</tr> 166</tbody> 167</table></div> 168</li> 169<li class="listitem"> 170<pre class="literallayout"><a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> <span class="special">&</span> <a name="id-1_3_47_5_18_2_1_1_6-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span><span class="special">;</span></pre> 171<p> 172 173 174 175</p> 176<div class="variablelist"><table border="0" class="variablelist compact"> 177<colgroup> 178<col align="left" valign="top"> 179<col> 180</colgroup> 181<tbody> 182<tr> 183<td><p><span class="term">Parameters:</span></p></td> 184<td><div class="variablelist"><table border="0" class="variablelist compact"> 185<colgroup> 186<col align="left" valign="top"> 187<col> 188</colgroup> 189<tbody><tr> 190<td><p><span class="term"><code class="computeroutput">that</code></span></p></td> 191<td><p>The <code class="computeroutput"><a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a></code> object to copy. </p></td> 192</tr></tbody> 193</table></div></td> 194</tr> 195<tr> 196<td><p><span class="term">Postconditions:</span></p></td> 197<td><p>regex_id() == that.regex_id() </p></td> 198</tr> 199<tr> 200<td><p><span class="term">Postconditions:</span></p></td> 201<td><p>mark_count() == that.mark_count() </p></td> 202</tr> 203<tr> 204<td><p><span class="term">Returns:</span></p></td> 205<td><p>*this </p></td> 206</tr> 207</tbody> 208</table></div> 209</li> 210<li class="listitem"> 211<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> <a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> <span class="special">&</span> <a name="id-1_3_47_5_18_2_1_1_8-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span></pre> 212<p>Construct from a static regular expression.</p> 213<p> 214 215 216 217 218 219</p> 220<div class="variablelist"><table border="0" class="variablelist compact"> 221<colgroup> 222<col align="left" valign="top"> 223<col> 224</colgroup> 225<tbody> 226<tr> 227<td><p><span class="term">Parameters:</span></p></td> 228<td><div class="variablelist"><table border="0" class="variablelist compact"> 229<colgroup> 230<col align="left" valign="top"> 231<col> 232</colgroup> 233<tbody><tr> 234<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> 235<td><p>The static regular expression. </p></td> 236</tr></tbody> 237</table></div></td> 238</tr> 239<tr> 240<td><p><span class="term">Requires:</span></p></td> 241<td><p>Expr is the type of a static regular expression. </p></td> 242</tr> 243<tr> 244<td><p><span class="term">Postconditions:</span></p></td> 245<td><p>regex_id() != 0 </p></td> 246</tr> 247<tr> 248<td><p><span class="term">Postconditions:</span></p></td> 249<td><p>mark_count() >= 0 </p></td> 250</tr> 251<tr> 252<td><p><span class="term">Returns:</span></p></td> 253<td><p>*this </p></td> 254</tr> 255<tr> 256<td><p><span class="term">Throws:</span></p></td> 257<td>std::bad_alloc on out of memory </td> 258</tr> 259</tbody> 260</table></div> 261</li> 262</ol></div> 263</div> 264<div class="refsect2"> 265<a name="id-1.3.47.5.19.11.4.3"></a><h3> 266<a name="id-1_3_47_5_18_2_1_1_3-bb"></a><code class="computeroutput">basic_regex</code> public member functions</h3> 267<div class="orderedlist"><ol class="orderedlist" type="1"> 268<li class="listitem"> 269<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id-1_3_47_5_18_2_1_1_3_1-bb"></a><span class="identifier">mark_count</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 270<p>Returns the count of capturing sub-expressions in this regular expression </p> 271</li> 272<li class="listitem"> 273<pre class="literallayout"><span class="identifier">regex_id_type</span> <a name="id-1_3_47_5_18_2_1_1_3_2-bb"></a><span class="identifier">regex_id</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 274<p>Returns a token which uniquely identifies this regular expression. </p> 275</li> 276<li class="listitem"> 277<pre class="literallayout"><span class="keyword">void</span> <a name="id-1_3_47_5_18_2_1_1_3_3-bb"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> <span class="special">&</span> that<span class="special">)</span><span class="special">;</span></pre> 278<p>Swaps the contents of this <code class="computeroutput"><a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a></code> object with another.</p> 279<p> 280</p> 281<div class="note"><table border="0" summary="Note"> 282<tr> 283<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../doc/src/images/note.png"></td> 284<th align="left">Note</th> 285</tr> 286<tr><td align="left" valign="top"><p>This is a shallow swap that does not do reference tracking. If you embed a <code class="computeroutput"><a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a></code> object by reference in another regular expression and then swap its contents with another <code class="computeroutput"><a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a></code> object, the change will not be visible to the enclosing regular expression. It is done this way to ensure that swap() cannot throw. </p></td></tr> 287</table></div> 288<p> 289 290</p> 291<div class="variablelist"><table border="0" class="variablelist compact"> 292<colgroup> 293<col align="left" valign="top"> 294<col> 295</colgroup> 296<tbody> 297<tr> 298<td><p><span class="term">Parameters:</span></p></td> 299<td><div class="variablelist"><table border="0" class="variablelist compact"> 300<colgroup> 301<col align="left" valign="top"> 302<col> 303</colgroup> 304<tbody><tr> 305<td><p><span class="term"><code class="computeroutput">that</code></span></p></td> 306<td><p>The other <code class="computeroutput"><a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a></code> object. </p></td> 307</tr></tbody> 308</table></div></td> 309</tr> 310<tr> 311<td><p><span class="term">Throws:</span></p></td> 312<td>Will not throw.</td> 313</tr> 314</tbody> 315</table></div> 316</li> 317</ol></div> 318</div> 319<div class="refsect2"> 320<a name="id-1.3.47.5.19.11.4.4"></a><h3> 321<a name="id-1_3_47_5_18_2_1_1_9-bb"></a><code class="computeroutput">basic_regex</code> public static functions</h3> 322<div class="orderedlist"><ol class="orderedlist" type="1"> 323<li class="listitem"> 324<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputIter<span class="special">></span> 325 <span class="keyword">static</span> <a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> 326 <a name="id-1_3_47_5_18_2_1_1_9_1-bb"></a><span class="identifier">compile</span><span class="special">(</span><span class="identifier">InputIter</span> begin<span class="special">,</span> <span class="identifier">InputIter</span> end<span class="special">,</span> 327 <span class="identifier">flag_type</span> flags <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">ECMAScript</span><span class="special">)</span><span class="special">;</span></pre> 328<p>Factory method for building a regex object from a range of characters. Equivalent to <code class="computeroutput"><a class="link" href="regex_compiler.html" title="Struct template regex_compiler">regex_compiler</a></code>< BidiIter >().compile(begin, end, flags);</p> 329<p> 330 331 332 333 334</p> 335<div class="variablelist"><table border="0" class="variablelist compact"> 336<colgroup> 337<col align="left" valign="top"> 338<col> 339</colgroup> 340<tbody> 341<tr> 342<td><p><span class="term">Parameters:</span></p></td> 343<td><div class="variablelist"><table border="0" class="variablelist compact"> 344<colgroup> 345<col align="left" valign="top"> 346<col> 347</colgroup> 348<tbody> 349<tr> 350<td><p><span class="term"><code class="computeroutput">begin</code></span></p></td> 351<td><p>The beginning of a range of characters representing the regular expression to compile. </p></td> 352</tr> 353<tr> 354<td><p><span class="term"><code class="computeroutput">end</code></span></p></td> 355<td><p>The end of a range of characters representing the regular expression to compile. </p></td> 356</tr> 357<tr> 358<td><p><span class="term"><code class="computeroutput">flags</code></span></p></td> 359<td><p>Optional bitmask that determines how the pat string is interpreted. (See syntax_option_type.) </p></td> 360</tr> 361</tbody> 362</table></div></td> 363</tr> 364<tr> 365<td><p><span class="term">Requires:</span></p></td> 366<td><p>[begin,end) is a valid range. </p></td> 367</tr> 368<tr> 369<td><p><span class="term">Requires:</span></p></td> 370<td><p>The range of characters specified by [begin,end) contains a valid string-based representation of a regular expression. </p></td> 371</tr> 372<tr> 373<td><p><span class="term">Returns:</span></p></td> 374<td><p>A <a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a> object corresponding to the regular expression represented by the character range. </p></td> 375</tr> 376<tr> 377<td><p><span class="term">Throws:</span></p></td> 378<td> 379<a class="link" href="regex_error.html" title="Struct regex_error">regex_error</a> when the range of characters has invalid regular expression syntax. </td> 380</tr> 381</tbody> 382</table></div> 383</li> 384<li class="listitem"> 385<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputRange<span class="special">></span> 386 <span class="keyword">static</span> <a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> 387 <a name="id-1_3_47_5_18_2_1_1_9_2-bb"></a><span class="identifier">compile</span><span class="special">(</span><span class="identifier">InputRange</span> <span class="keyword">const</span> <span class="special">&</span> pat<span class="special">,</span> 388 <span class="identifier">flag_type</span> flags <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">ECMAScript</span><span class="special">)</span><span class="special">;</span></pre> 389<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p> 390</li> 391<li class="listitem"> 392<pre class="literallayout"><span class="keyword">static</span> <a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> 393<a name="id-1_3_47_5_18_2_1_1_9_3-bb"></a><span class="identifier">compile</span><span class="special">(</span><span class="identifier">char_type</span> <span class="keyword">const</span> <span class="special">*</span> begin<span class="special">,</span> 394 <span class="identifier">flag_type</span> flags <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">ECMAScript</span><span class="special">)</span><span class="special">;</span></pre> 395<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p> 396</li> 397<li class="listitem"> 398<pre class="literallayout"><span class="keyword">static</span> <a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><span class="special"><</span> <span class="identifier">BidiIter</span> <span class="special">></span> 399<a name="id-1_3_47_5_18_2_1_1_9_4-bb"></a><span class="identifier">compile</span><span class="special">(</span><span class="identifier">char_type</span> <span class="keyword">const</span> <span class="special">*</span> begin<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> len<span class="special">,</span> <span class="identifier">flag_type</span> flags<span class="special">)</span><span class="special">;</span></pre> 400<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p> 401</li> 402</ol></div> 403</div> 404</div> 405</div> 406<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 407<td align="left"></td> 408<td align="right"><div class="copyright-footer">Copyright © 2007 Eric Niebler<p> 409 Distributed under the Boost Software License, Version 1.0. (See accompanying 410 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>) 411 </p> 412</div></td> 413</tr></table> 414<hr> 415<div class="spirit-nav"> 416<a accesskey="p" href="op/throw_.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../xpressive/reference.html#header.boost.xpressive.xpressive_fwd_hpp"><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="c_regex_traits.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> 417</div> 418</body> 419</html> 420