1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>sub_match</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.4"> 8<link rel="up" href="../ref.html" title="Reference"> 9<link rel="prev" href="match_results.html" title="match_results"> 10<link rel="next" href="regex_match.html" title="regex_match"> 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="match_results.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="regex_match.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.sub_match"></a><a class="link" href="sub_match.html" title="sub_match">sub_match</a> 28</h3></div></div></div> 29<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">></span> 30</pre> 31<p> 32 Regular expressions are different from many simple pattern-matching algorithms 33 in that as well as finding an overall match they can also produce sub-expression 34 matches: each sub-expression being delimited in the pattern by a pair of 35 parenthesis (...). There has to be some method for reporting sub-expression 36 matches back to the user: this is achieved this by defining a class <a class="link" href="match_results.html" title="match_results"><code class="computeroutput"><span class="identifier">match_results</span></code></a> 37 that acts as an indexed collection of sub-expression matches, each sub-expression 38 match being contained in an object of type <a class="link" href="sub_match.html" title="sub_match"><code class="computeroutput"><span class="identifier">sub_match</span></code></a>. 39 </p> 40<p> 41 Objects of type <a class="link" href="sub_match.html" title="sub_match"><code class="computeroutput"><span class="identifier">sub_match</span></code></a> 42 may only be obtained by subscripting an object of type <a class="link" href="match_results.html" title="match_results"><code class="computeroutput"><span class="identifier">match_results</span></code></a>. 43 </p> 44<p> 45 Objects of type <a class="link" href="sub_match.html" title="sub_match"><code class="computeroutput"><span class="identifier">sub_match</span></code></a> 46 may be compared to objects of type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span></code>, 47 or <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">charT</span><span class="special">*</span></code> or <code class="computeroutput"><span class="keyword">const</span> 48 <span class="identifier">charT</span></code>. 49 </p> 50<p> 51 Objects of type <a class="link" href="sub_match.html" title="sub_match"><code class="computeroutput"><span class="identifier">sub_match</span></code></a> 52 may be added to objects of type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span></code>, 53 or <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">charT</span><span class="special">*</span></code> or <code class="computeroutput"><span class="keyword">const</span> 54 <span class="identifier">charT</span></code>, to produce a new <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span></code> 55 object. 56 </p> 57<p> 58 When the marked sub-expression denoted by an object of type <a class="link" href="sub_match.html" title="sub_match"><code class="computeroutput"><span class="identifier">sub_match</span></code></a> participated in a regular 59 expression match then member <span class="emphasis"><em>matched</em></span> evaluates to <span class="emphasis"><em>true</em></span>, 60 and members <span class="emphasis"><em>first</em></span> and <span class="emphasis"><em>second</em></span> denote 61 the range of characters [first,second) which formed that match. Otherwise 62 <span class="emphasis"><em>matched</em></span> is <span class="emphasis"><em>false</em></span>, and members 63 <span class="emphasis"><em>first</em></span> and <span class="emphasis"><em>second</em></span> contained undefined 64 values. 65 </p> 66<p> 67 When the marked sub-expression denoted by an object of type <a class="link" href="sub_match.html" title="sub_match"><code class="computeroutput"><span class="identifier">sub_match</span></code></a> was repeated, then the 68 <a class="link" href="sub_match.html" title="sub_match"><code class="computeroutput"><span class="identifier">sub_match</span></code></a> 69 object represents the match obtained by the <span class="emphasis"><em>last</em></span> repeat. 70 The complete set of all the captures obtained for all the repeats, may be 71 accessed via the captures() member function (Note: this has serious performance 72 implications, you have to explicitly enable this feature). 73 </p> 74<p> 75 If an object of type <a class="link" href="sub_match.html" title="sub_match"><code class="computeroutput"><span class="identifier">sub_match</span></code></a> represents sub-expression 76 0 - that is to say the whole match - then member <span class="emphasis"><em>matched</em></span> 77 is always <span class="emphasis"><em>true</em></span>, unless a <a class="link" href="../partial_matches.html" title="Partial Matches">partial 78 match</a> was obtained as a result of the flag <code class="computeroutput"><span class="identifier">match_partial</span></code> 79 being passed to a regular expression algorithm, in which case member <span class="emphasis"><em>matched</em></span> 80 is <span class="emphasis"><em>false</em></span>, and members <span class="emphasis"><em>first</em></span> and 81 <span class="emphasis"><em>second</em></span> represent the character range that formed the 82 partial match. 83 </p> 84<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> 85 86<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 87<span class="keyword">class</span> <span class="identifier">sub_match</span><span class="special">;</span> 88 89<span class="keyword">typedef</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*></span> <span class="identifier">csub_match</span><span class="special">;</span> 90<span class="keyword">typedef</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">wchar_t</span><span class="special">*></span> <span class="identifier">wcsub_match</span><span class="special">;</span> 91<span class="keyword">typedef</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">::</span><span class="identifier">const_iterator</span><span class="special">></span> <span class="identifier">ssub_match</span><span class="special">;</span> 92<span class="keyword">typedef</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">wstring</span><span class="special">::</span><span class="identifier">const_iterator</span><span class="special">></span> <span class="identifier">wssub_match</span><span class="special">;</span> 93 94<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 95<span class="keyword">class</span> <span class="identifier">sub_match</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 96<span class="special">{</span> 97<span class="keyword">public</span><span class="special">:</span> 98 <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <a class="link" href="sub_match.html#boost_regex.sub_match.value_type">value_type</a><span class="special">;</span> 99 <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">difference_type</span> <a class="link" href="sub_match.html#boost_regex.sub_match.diff_type">difference_type</a><span class="special">;</span> 100 <span class="keyword">typedef</span> <span class="identifier">BidirectionalIterator</span> <a class="link" href="sub_match.html#boost_regex.sub_match.it_type">iterator</a><span class="special">;</span> 101 102 <span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.matched">matched</a><span class="special">;</span> 103 104 <span class="identifier">difference_type</span> <a class="link" href="sub_match.html#boost_regex.sub_match.length">length</a><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> 105 <a class="link" href="sub_match.html#boost_regex.sub_match.cast">operator basic_string<value_type></a><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> 106 <span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">value_type</span><span class="special">></span> <a class="link" href="sub_match.html#boost_regex.sub_match.str">str</a><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> 107 108 <span class="keyword">int</span> <a class="link" href="sub_match.html#boost_regex.sub_match.compare1">compare</a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&</span> <span class="identifier">s</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span> 109 <span class="keyword">int</span> <a class="link" href="sub_match.html#boost_regex.sub_match.compare2">compare</a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">value_type</span><span class="special">>&</span> <span class="identifier">s</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span> 110 <span class="keyword">int</span> <a class="link" href="sub_match.html#boost_regex.sub_match.compare3">compare</a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">*</span> <span class="identifier">s</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span> 111<span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_REGEX_MATCH_EXTRA</span> 112 <span class="keyword">typedef</span> <span class="identifier">implementation</span><span class="special">-</span><span class="keyword">private</span> <a class="link" href="sub_match.html#boost_regex.sub_match.cap_seq_type">capture_sequence_type</a><span class="special">;</span> 113 <span class="keyword">const</span> <span class="identifier">capture_sequence_type</span><span class="special">&</span> <a class="link" href="sub_match.html#boost_regex.sub_match.captures">captures</a><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> 114<span class="preprocessor">#endif</span> 115<span class="special">};</span> 116<span class="comment">//</span> 117<span class="comment">// comparisons to another sub_match:</span> 118<span class="comment">//</span> 119<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 120<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare1">operator ==</a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 121 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 122<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 123<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare2">operator !=</a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 124 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 125<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 126<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare3">operator <</a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 127 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 128<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 129<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare4">operator <=</a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 130 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 131<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 132<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare5">operator >=</a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 133 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 134<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 135<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare6">operator ></a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 136 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 137 138 139<span class="comment">//</span> 140<span class="comment">// comparisons to a basic_string:</span> 141<span class="comment">//</span> 142<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 143<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare7">operator ==</a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 144 <span class="identifier">traits</span><span class="special">,</span> 145 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 146 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 147<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 148<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare8">operator != </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 149 <span class="identifier">traits</span><span class="special">,</span> 150 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 151 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 152<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 153<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare9">operator <</a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 154 <span class="identifier">traits</span><span class="special">,</span> 155 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 156 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 157<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 158<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare10">operator ></a> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 159 <span class="identifier">traits</span><span class="special">,</span> 160 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 161 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 162<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 163<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare11">operator >= </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 164 <span class="identifier">traits</span><span class="special">,</span> 165 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 166 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 167<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 168<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare12">operator <= </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 169 <span class="identifier">traits</span><span class="special">,</span> 170 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 171 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 172 173<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 174<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare13">operator == </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 175 <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 176 <span class="identifier">traits</span><span class="special">,</span> 177 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 178<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 179<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare14">operator != </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 180 <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 181 <span class="identifier">traits</span><span class="special">,</span> 182 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 183<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 184<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare15">operator < </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 185 <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 186 <span class="identifier">traits</span><span class="special">,</span> 187 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 188<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 189<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare16">operator > </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 190 <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 191 <span class="identifier">traits</span><span class="special">,</span> 192 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 193<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 194<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare17">operator >= </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 195 <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 196 <span class="identifier">traits</span><span class="special">,</span> 197 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 198<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 199<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare18">operator <= </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 200 <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 201 <span class="identifier">traits</span><span class="special">,</span> 202 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 203 204<span class="comment">//</span> 205<span class="comment">// comparisons to a pointer to a character array:</span> 206<span class="comment">//</span> 207<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 208<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare19">operator == </a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span> 209 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 210<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 211<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare20">operator != </a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span> 212 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 213<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 214<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare21">operator < </a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span> 215 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 216<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 217<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare22">operator > </a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span> 218 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 219<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 220<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare23">operator >= </a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span> 221 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 222<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 223<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare24">operator <= </a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span> 224 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 225 226<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 227<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare25">operator == </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 228 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span> 229<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 230<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare26">operator != </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 231 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span> 232<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 233<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare27">operator < </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 234 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span> 235<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 236<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare28">operator > </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 237 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span> 238<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 239<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare29">operator >= </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 240 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span> 241<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 242<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare30">operator <= </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 243 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span> 244 245<span class="comment">//</span> 246<span class="comment">// comparisons to a single character:</span> 247<span class="comment">//</span> 248<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 249<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare31">operator == </a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span><span class="special">,</span> 250 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 251<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 252<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare32">operator != </a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span><span class="special">,</span> 253 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 254<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 255<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare33">operator < </a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span><span class="special">,</span> 256 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 257<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 258<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare34">operator > </a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span><span class="special">,</span> 259 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 260<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 261<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare35">operator >= </a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span><span class="special">,</span> 262 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 263<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 264<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare36">operator <= </a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span><span class="special">,</span> 265 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 266 267<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 268<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare37">operator == </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 269 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span> 270<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 271<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare38">operator != </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 272 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span> 273<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 274<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare39">operator < </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 275 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span> 276<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 277<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare40">operator > </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 278 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span> 279<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 280<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare41">operator >= </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 281 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span> 282<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 283<span class="keyword">bool</span> <a class="link" href="sub_match.html#boost_regex.sub_match.op_compare42">operator <= </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 284 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span> 285<span class="comment">// </span> 286<span class="comment">// addition operators: </span> 287<span class="comment">//</span> 288<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 289<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">,</span> <span class="identifier">Allocator</span><span class="special">></span> 290 <a class="link" href="sub_match.html#boost_regex.sub_match.op_add1">operator + </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 291 <span class="identifier">traits</span><span class="special">,</span> 292 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">s</span><span class="special">,</span> 293 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">);</span> 294<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 295<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">,</span> <span class="identifier">Allocator</span><span class="special">></span> 296 <a class="link" href="sub_match.html#boost_regex.sub_match.op_add2">operator + </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span> 297 <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 298 <span class="identifier">traits</span><span class="special">,</span> 299 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">s</span><span class="special">);</span> 300<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 301<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">></span> 302 <a class="link" href="sub_match.html#boost_regex.sub_match.op_add3">operator + </a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">s</span><span class="special">,</span> 303 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">);</span> 304<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 305<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">></span> 306 <a class="link" href="sub_match.html#boost_regex.sub_match.op_add4">operator + </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span> 307 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span> <span class="special">*</span> <span class="identifier">s</span><span class="special">);</span> 308<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 309<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">></span> 310 <a class="link" href="sub_match.html#boost_regex.sub_match.op_add5">operator + </a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">s</span><span class="special">,</span> 311 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">);</span> 312<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 313<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">></span> 314 <a class="link" href="sub_match.html#boost_regex.sub_match.op_add6">operator + </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span> 315 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">s</span><span class="special">);</span> 316<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 317<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">></span> 318 <a class="link" href="sub_match.html#boost_regex.sub_match.op_add7">operator + </a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m1</span><span class="special">,</span> 319 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m2</span><span class="special">);</span> 320 321<span class="comment">//</span> 322<span class="comment">// stream inserter:</span> 323<span class="comment">//</span> 324<span class="keyword">template</span> <span class="special"><</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="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 325<span class="identifier">basic_ostream</span><span class="special"><</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">>&</span> 326 <a class="link" href="sub_match.html#boost_regex.sub_match.op_stream">operator << </a><span class="special">(</span><span class="identifier">basic_ostream</span><span class="special"><</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">>&</span> <span class="identifier">os</span><span class="special">,</span> 327 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">);</span> 328 329<span class="special">}</span> <span class="comment">// namespace boost</span> 330</pre> 331<h5> 332<a name="boost_regex.ref.sub_match.h0"></a> 333 <span class="phrase"><a name="boost_regex.ref.sub_match.description"></a></span><a class="link" href="sub_match.html#boost_regex.ref.sub_match.description">Description</a> 334 </h5> 335<h6> 336<a name="boost_regex.ref.sub_match.h1"></a> 337 <span class="phrase"><a name="boost_regex.ref.sub_match.members"></a></span><a class="link" href="sub_match.html#boost_regex.ref.sub_match.members">Members</a> 338 </h6> 339<a name="boost_regex.sub_match.value_type"></a><pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">iterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="identifier">value_type</span><span class="special">;</span> 340</pre> 341<p> 342 The type pointed to by the iterators. 343 </p> 344<a name="boost_regex.sub_match.diff_type"></a><pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">iterator</span><span class="special">>::</span><span class="identifier">difference_type</span> <span class="identifier">difference_type</span><span class="special">;</span> 345</pre> 346<p> 347 A type that represents the difference between two iterators. 348 </p> 349<a name="boost_regex.sub_match.it_type"></a><pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">BidirectionalIterator</span> <span class="identifier">iterator</span><span class="special">;</span> 350</pre> 351<p> 352 The iterator type. 353 </p> 354<a name="boost_regex.sub_match.first"></a><pre class="programlisting"><span class="identifier">iterator</span> <span class="identifier">first</span> 355</pre> 356<p> 357 An iterator denoting the position of the start of the match. 358 </p> 359<a name="boost_regex.sub_match.second"></a><pre class="programlisting"><span class="identifier">iterator</span> <span class="identifier">second</span> 360</pre> 361<p> 362 An iterator denoting the position of the end of the match. 363 </p> 364<a name="boost_regex.sub_match.matched"></a><pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">matched</span> 365</pre> 366<p> 367 A Boolean value denoting whether this sub-expression participated in the 368 match. 369 </p> 370<a name="boost_regex.sub_match.length"></a><pre class="programlisting"><span class="keyword">static</span> <span class="identifier">difference_type</span> <span class="identifier">length</span><span class="special">();</span> 371</pre> 372<p> 373 <span class="bold"><strong>Effects</strong></span>: returns the length of this matched 374 sub-expression, or 0 if this sub-expression was not matched: <code class="computeroutput"><span class="identifier">matched</span> <span class="special">?</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">second</span><span class="special">)</span> <span class="special">:</span> <span class="number">0</span><span class="special">)</span></code>. 375 </p> 376<a name="boost_regex.sub_match.cast"></a><pre class="programlisting"><span class="keyword">operator</span> <span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">value_type</span><span class="special">>()</span><span class="keyword">const</span><span class="special">;</span> 377</pre> 378<p> 379 <span class="bold"><strong>Effects</strong></span>: converts <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> into a string: returns <code class="computeroutput"><span class="special">(</span><span class="identifier">matched</span> <span class="special">?</span> <span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">value_type</span><span class="special">>(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">second</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">value_type</span><span class="special">>())</span></code>. 380 </p> 381<a name="boost_regex.sub_match.str"></a><pre class="programlisting"><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">value_type</span><span class="special">></span> <span class="identifier">str</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> 382</pre> 383<p> 384 <span class="bold"><strong>Effects</strong></span>: returns a string representation 385 of <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>: 386 <code class="computeroutput"><span class="special">(</span><span class="identifier">matched</span> 387 <span class="special">?</span> <span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">value_type</span><span class="special">>(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">second</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">value_type</span><span class="special">>())</span></code>. 388 </p> 389<a name="boost_regex.sub_match.compare1"></a><pre class="programlisting"><span class="keyword">int</span> <span class="identifier">compare</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&</span> <span class="identifier">s</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span> 390</pre> 391<p> 392 <span class="bold"><strong>Effects</strong></span>: performs a lexical comparison to 393 <span class="emphasis"><em>s</em></span>: 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">s</span><span class="special">.</span><span class="identifier">str</span><span class="special">())</span></code>. 394 </p> 395<a name="boost_regex.sub_match.compare2"></a><pre class="programlisting"><span class="keyword">int</span> <span class="identifier">compare</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">value_type</span><span class="special">>&</span> <span class="identifier">s</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span> 396</pre> 397<p> 398 <span class="bold"><strong>Effects</strong></span>: compares <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> to the string <span class="emphasis"><em>s</em></span>: 399 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">s</span><span class="special">)</span></code>. 400 </p> 401<a name="boost_regex.sub_match.compare3"></a><pre class="programlisting"><span class="keyword">int</span> <span class="identifier">compare</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">*</span> <span class="identifier">s</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span> 402</pre> 403<p> 404 <span class="bold"><strong>Effects</strong></span>: compares <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> to the null-terminated string <span class="emphasis"><em>s</em></span>: 405 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">s</span><span class="special">)</span></code>. 406 </p> 407<a name="boost_regex.sub_match.cap_seq_type"></a><pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation</span><span class="special">-</span><span class="keyword">private</span> <span class="identifier">capture_sequence_type</span><span class="special">;</span> 408</pre> 409<p> 410 Defines an implementation-specific type that satisfies the requirements of 411 a standard library Sequence (21.1.1 including the optional Table 68 operations), 412 whose value_type is a <code class="computeroutput"><span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">></span></code>. This type happens to be <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">></span> <span class="special">></span></code>, 413 but you shouldn't actually rely on that. 414 </p> 415<a name="boost_regex.sub_match.captures"></a><pre class="programlisting"><span class="keyword">const</span> <span class="identifier">capture_sequence_type</span><span class="special">&</span> <span class="identifier">captures</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> 416</pre> 417<p> 418 <span class="bold"><strong>Effects</strong></span>: returns a sequence containing all 419 the captures obtained for this sub-expression. 420 </p> 421<p> 422 <span class="bold"><strong>Preconditions</strong></span>: the library must be built 423 and used with BOOST_REGEX_MATCH_EXTRA defined, and you must pass the flag 424 <code class="computeroutput"><span class="identifier">match_extra</span></code> to the regex 425 matching functions ( <a class="link" href="regex_match.html" title="regex_match"><code class="computeroutput"><span class="identifier">regex_match</span></code></a>, <a class="link" href="regex_search.html" title="regex_search"><code class="computeroutput"><span class="identifier">regex_search</span></code></a>, <a class="link" href="regex_iterator.html" title="regex_iterator"><code class="computeroutput"><span class="identifier">regex_iterator</span></code></a> or <a class="link" href="regex_token_iterator.html" title="regex_token_iterator"><code class="computeroutput"><span class="identifier">regex_token_iterator</span></code></a>) in order for 426 this member #function to be defined and return useful information. 427 </p> 428<p> 429 <span class="bold"><strong>Rationale</strong></span>: Enabling this feature has several 430 consequences: 431 </p> 432<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 433<li class="listitem"> 434 sub_match occupies more memory resulting in complex expressions running 435 out of memory or stack space more quickly during matching. 436 </li> 437<li class="listitem"> 438 The matching algorithms are less efficient at handling some features 439 (independent sub-expressions for example), even when match_extra is not 440 used. 441 </li> 442<li class="listitem"> 443 The matching algorithms are much less efficient (i.e. slower), when match_extra 444 is used. Mostly this is down to the extra memory allocations that have 445 to take place. 446 </li> 447</ul></div> 448<h6> 449<a name="boost_regex.ref.sub_match.h2"></a> 450 <span class="phrase"><a name="boost_regex.ref.sub_match.sub_match_non_member_operators"></a></span><a class="link" href="sub_match.html#boost_regex.ref.sub_match.sub_match_non_member_operators">sub_match 451 non-member operators</a> 452 </h6> 453<a name="boost_regex.sub_match.op_compare1"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 454<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 455 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 456</pre> 457<p> 458 <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> 459 <span class="special">==</span> <span class="number">0</span></code>. 460 </p> 461<a name="boost_regex.sub_match.op_compare2"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 462<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 463 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 464</pre> 465<p> 466 <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> 467 <span class="special">!=</span> <span class="number">0</span></code>. 468 </p> 469<a name="boost_regex.sub_match.op_compare3"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 470<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 471 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 472</pre> 473<p> 474 <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> 475 <span class="special"><</span> <span class="number">0</span></code>. 476 </p> 477<a name="boost_regex.sub_match.op_compare4"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 478<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 479 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 480</pre> 481<p> 482 <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> 483 <span class="special"><=</span> <span class="number">0</span></code>. 484 </p> 485<a name="boost_regex.sub_match.op_compare5"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 486<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 487 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 488</pre> 489<p> 490 <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> 491 <span class="special">>=</span> <span class="number">0</span></code>. 492 </p> 493<a name="boost_regex.sub_match.op_compare6"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 494<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 495 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 496</pre> 497<p> 498 <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> 499 <span class="special">></span> <span class="number">0</span></code>. 500 </p> 501<a name="boost_regex.sub_match.op_compare7"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 502<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">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 503 <span class="identifier">traits</span><span class="special">,</span> 504 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 505 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 506</pre> 507<p> 508 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 509 <span class="special">==</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 510 </p> 511<a name="boost_regex.sub_match.op_compare8"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 512<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">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 513 <span class="identifier">traits</span><span class="special">,</span> 514 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 515 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 516</pre> 517<p> 518 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 519 <span class="special">!=</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 520 </p> 521<a name="boost_regex.sub_match.op_compare9"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 522<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">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 523 <span class="identifier">traits</span><span class="special">,</span> 524 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 525 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 526</pre> 527<p> 528 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 529 <span class="special"><</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 530 </p> 531<a name="boost_regex.sub_match.op_compare10"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 532<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">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 533 <span class="identifier">traits</span><span class="special">,</span> 534 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 535 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 536</pre> 537<p> 538 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 539 <span class="special">></span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 540 </p> 541<a name="boost_regex.sub_match.op_compare11"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 542<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">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 543 <span class="identifier">traits</span><span class="special">,</span> 544 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 545 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 546</pre> 547<p> 548 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 549 <span class="special">>=</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 550 </p> 551<a name="boost_regex.sub_match.op_compare12"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 552<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">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 553 <span class="identifier">traits</span><span class="special">,</span> 554 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 555 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 556</pre> 557<p> 558 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 559 <span class="special"><=</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 560 </p> 561<a name="boost_regex.sub_match.op_compare13"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 562<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 563 <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 564 <span class="identifier">traits</span><span class="special">,</span> 565 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 566</pre> 567<p> 568 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 569 <span class="special">==</span> <span class="identifier">rhs</span></code>. 570 </p> 571<a name="boost_regex.sub_match.op_compare14"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 572<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 573 <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 574 <span class="identifier">traits</span><span class="special">,</span> 575 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 576</pre> 577<p> 578 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 579 <span class="special">!=</span> <span class="identifier">rhs</span></code>. 580 </p> 581<a name="boost_regex.sub_match.op_compare15"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 582<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 583 <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 584 <span class="identifier">traits</span><span class="special">,</span> 585 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 586</pre> 587<p> 588 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 589 <span class="special"><</span> <span class="identifier">rhs</span></code>. 590 </p> 591<a name="boost_regex.sub_match.op_compare16"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 592<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 593 <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 594 <span class="identifier">traits</span><span class="special">,</span> 595 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 596</pre> 597<p> 598 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 599 <span class="special">></span> <span class="identifier">rhs</span></code>. 600 </p> 601<a name="boost_regex.sub_match.op_compare17"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 602<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 603 <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 604 <span class="identifier">traits</span><span class="special">,</span> 605 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 606</pre> 607<p> 608 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 609 <span class="special">>=</span> <span class="identifier">rhs</span></code>. 610 </p> 611<a name="boost_regex.sub_match.op_compare18"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 612<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 613 <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 614 <span class="identifier">traits</span><span class="special">,</span> 615 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 616</pre> 617<p> 618 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 619 <span class="special"><=</span> <span class="identifier">rhs</span></code>. 620 </p> 621<a name="boost_regex.sub_match.op_compare19"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 622<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span> 623 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 624</pre> 625<p> 626 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 627 <span class="special">==</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 628 </p> 629<a name="boost_regex.sub_match.op_compare20"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 630<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span> 631 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 632</pre> 633<p> 634 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 635 <span class="special">!=</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 636 </p> 637<a name="boost_regex.sub_match.op_compare21"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 638<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special"><</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span> 639 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 640</pre> 641<p> 642 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 643 <span class="special"><</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 644 </p> 645<a name="boost_regex.sub_match.op_compare22"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 646<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">></span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span> 647 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 648</pre> 649<p> 650 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 651 <span class="special">></span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 652 </p> 653<a name="boost_regex.sub_match.op_compare23"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 654<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">>=</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span> 655 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 656</pre> 657<p> 658 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 659 <span class="special">>=</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 660 </p> 661<a name="boost_regex.sub_match.op_compare24"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 662<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special"><=</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span> 663 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 664</pre> 665<p> 666 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 667 <span class="special"><=</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 668 </p> 669<a name="boost_regex.sub_match.op_compare25"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 670<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 671 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span> 672</pre> 673<p> 674 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 675 <span class="special">==</span> <span class="identifier">rhs</span></code>. 676 </p> 677<a name="boost_regex.sub_match.op_compare26"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 678<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 679 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span> 680</pre> 681<p> 682 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 683 <span class="special">!=</span> <span class="identifier">rhs</span></code>. 684 </p> 685<a name="boost_regex.sub_match.op_compare27"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 686<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 687 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span> 688</pre> 689<p> 690 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 691 <span class="special"><</span> <span class="identifier">rhs</span></code>. 692 </p> 693<a name="boost_regex.sub_match.op_compare28"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 694<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 695 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span> 696</pre> 697<p> 698 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 699 <span class="special">></span> <span class="identifier">rhs</span></code>. 700 </p> 701<a name="boost_regex.sub_match.op_compare29"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 702<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 703 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span> 704</pre> 705<p> 706 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 707 <span class="special">>=</span> <span class="identifier">rhs</span></code>. 708 </p> 709<a name="boost_regex.sub_match.op_compare30"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 710<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 711 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span> 712</pre> 713<p> 714 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 715 <span class="special"><=</span> <span class="identifier">rhs</span></code>. 716 </p> 717<a name="boost_regex.sub_match.op_compare31"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 718<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span><span class="special">,</span> 719 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 720</pre> 721<p> 722 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 723 <span class="special">==</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 724 </p> 725<a name="boost_regex.sub_match.op_compare32"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 726<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span><span class="special">,</span> 727 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 728</pre> 729<p> 730 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 731 <span class="special">!=</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 732 </p> 733<a name="boost_regex.sub_match.op_compare33"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 734<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special"><</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span><span class="special">,</span> 735 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 736</pre> 737<p> 738 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 739 <span class="special"><</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 740 </p> 741<a name="boost_regex.sub_match.op_compare34"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 742<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">></span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span><span class="special">,</span> 743 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 744</pre> 745<p> 746 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 747 <span class="special">></span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 748 </p> 749<a name="boost_regex.sub_match.op_compare35"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 750<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">>=</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span><span class="special">,</span> 751 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 752</pre> 753<p> 754 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 755 <span class="special">>=</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 756 </p> 757<a name="boost_regex.sub_match.op_compare36"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 758<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special"><=</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span><span class="special">,</span> 759 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> 760</pre> 761<p> 762 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span> 763 <span class="special"><=</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 764 </p> 765<a name="boost_regex.sub_match.op_compare37"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 766<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 767 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span> 768</pre> 769<p> 770 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 771 <span class="special">==</span> <span class="identifier">rhs</span></code>. 772 </p> 773<a name="boost_regex.sub_match.op_compare38"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 774<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 775 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span> 776</pre> 777<p> 778 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 779 <span class="special">!=</span> <span class="identifier">rhs</span></code>. 780 </p> 781<a name="boost_regex.sub_match.op_compare39"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 782<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 783 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span> 784</pre> 785<p> 786 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 787 <span class="special"><</span> <span class="identifier">rhs</span></code>. 788 </p> 789<a name="boost_regex.sub_match.op_compare40"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 790<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 791 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span> 792</pre> 793<p> 794 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 795 <span class="special">></span> <span class="identifier">rhs</span></code>. 796 </p> 797<a name="boost_regex.sub_match.op_compare41"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 798<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 799 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span> 800</pre> 801<p> 802 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 803 <span class="special">>=</span> <span class="identifier">rhs</span></code>. 804 </p> 805<a name="boost_regex.sub_match.op_compare42"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 806<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">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> 807 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span> 808</pre> 809<p> 810 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 811 <span class="special"><=</span> <span class="identifier">rhs</span></code>. 812 </p> 813<p> 814 The addition operators for <a class="link" href="sub_match.html" title="sub_match"><code class="computeroutput"><span class="identifier">sub_match</span></code></a> allow you to add a <a class="link" href="sub_match.html" title="sub_match"><code class="computeroutput"><span class="identifier">sub_match</span></code></a> 815 to any type to which you can add a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code> 816 and obtain a new string as the result. 817 </p> 818<a name="boost_regex.sub_match.op_add1"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 819<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">,</span> <span class="identifier">Allocator</span><span class="special">></span> 820 <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 821 <span class="identifier">traits</span><span class="special">,</span> 822 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">s</span><span class="special">,</span> 823 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">);</span> 824</pre> 825<p> 826 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">s</span> 827 <span class="special">+</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 828 </p> 829<a name="boost_regex.sub_match.op_add2"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span> 830<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">,</span> <span class="identifier">Allocator</span><span class="special">></span> 831 <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span> 832 <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">,</span> 833 <span class="identifier">traits</span><span class="special">,</span> 834 <span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">s</span><span class="special">);</span> 835</pre> 836<p> 837 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">m</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 838 <span class="special">+</span> <span class="identifier">s</span></code>. 839 </p> 840<a name="boost_regex.sub_match.op_add3"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 841<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">></span> 842 <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">s</span><span class="special">,</span> 843 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">);</span> 844</pre> 845<p> 846 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">s</span> 847 <span class="special">+</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 848 </p> 849<a name="boost_regex.sub_match.op_add4"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 850<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">></span> 851 <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span> 852 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span> <span class="special">*</span> <span class="identifier">s</span><span class="special">);</span> 853</pre> 854<p> 855 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">m</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 856 <span class="special">+</span> <span class="identifier">s</span></code>. 857 </p> 858<a name="boost_regex.sub_match.op_add5"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 859<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">></span> 860 <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">s</span><span class="special">,</span> 861 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">);</span> 862</pre> 863<p> 864 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">s</span> 865 <span class="special">+</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 866 </p> 867<a name="boost_regex.sub_match.op_add6"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 868<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">></span> 869 <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span> 870 <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">s</span><span class="special">);</span> 871</pre> 872<p> 873 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">m</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 874 <span class="special">+</span> <span class="identifier">s</span></code>. 875 </p> 876<a name="boost_regex.sub_match.op_add7"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 877<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>::</span><span class="identifier">value_type</span><span class="special">></span> 878 <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m1</span><span class="special">,</span> 879 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m2</span><span class="special">);</span> 880</pre> 881<p> 882 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="identifier">m1</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> 883 <span class="special">+</span> <span class="identifier">m2</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. 884 </p> 885<h6> 886<a name="boost_regex.ref.sub_match.h3"></a> 887 <span class="phrase"><a name="boost_regex.ref.sub_match.stream_inserter"></a></span><a class="link" href="sub_match.html#boost_regex.ref.sub_match.stream_inserter">Stream 888 inserter</a> 889 </h6> 890<a name="boost_regex.sub_match.op_stream"></a><pre class="programlisting"><span class="keyword">template</span> <span class="special"><</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="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">></span> 891<span class="identifier">basic_ostream</span><span class="special"><</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">>&</span> 892 <span class="keyword">operator</span> <span class="special"><<</span> <span class="special">(</span><span class="identifier">basic_ostream</span><span class="special"><</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">>&</span> <span class="identifier">os</span> 893 <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special"><</span><span class="identifier">BidirectionalIterator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">);</span> 894</pre> 895<p> 896 <span class="bold"><strong>Effects</strong></span>: returns <code class="computeroutput"><span class="special">(</span><span class="identifier">os</span> <span class="special"><<</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">str</span><span class="special">())</span></code>. 897 </p> 898</div> 899<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 900<td align="left"></td> 901<td align="right"><div class="copyright-footer">Copyright © 1998-2013 John Maddock<p> 902 Distributed under the Boost Software License, Version 1.0. (See accompanying 903 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>) 904 </p> 905</div></td> 906</tr></table> 907<hr> 908<div class="spirit-nav"> 909<a accesskey="p" href="match_results.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="regex_match.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> 910</div> 911</body> 912</html> 913