<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>libstdc++: std::sub_match< _BiIter > Class Template Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.4 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">libstdc++</div> </td> </tr> </tbody> </table> </div> </div> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('a00704.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-attribs">Public Attributes</a> </div> <div class="headertitle"> <div class="title">std::sub_match< _BiIter > Class Template Reference<div class="ingroups"><a class="el" href="a01192.html">Regular Expressions</a></div></div> </div> </div> <div class="contents"> <!-- doxytag: class="std::sub_match" --><!-- doxytag: inherits="pair< _BiIter, _BiIter >" --><div class="dynheader"> Inheritance diagram for std::sub_match< _BiIter >:</div> <div class="dyncontent"> <div class="center"><img src="a02384.png" border="0" usemap="#std_1_1sub__match_3_01___bi_iter_01_4_inherit__map" alt="Inheritance graph"/></div> <map name="std_1_1sub__match_3_01___bi_iter_01_4_inherit__map" id="std_1_1sub__match_3_01___bi_iter_01_4_inherit__map"> <area shape="rect" id="node7" href="a00704.html" title="std::sub_match\< _Bi_iter \>" alt="" coords="5,277,171,307"/><area shape="rect" id="node2" href="a00263.html" title="std::pair\< _BiIter, _BiIter \>" alt="" coords="8,101,168,131"/><area shape="rect" id="node4" href="a00263.html" title="Struct holding two objects of arbitrary type." alt="" coords="21,5,155,35"/></map> <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> <p><a href="a02385.html">List of all members.</a></p> <h2><a name="pub-types"></a> Public Types</h2> <ul> <li><a class="anchor" id="a23d71568f74ae6beb1819ff9d9975279"></a><!-- doxytag: member="std::sub_match::difference_type" ref="a23d71568f74ae6beb1819ff9d9975279" args="" --> typedef iterator_traits<br class="typebreak"/> < _BiIter >::difference_type <b>difference_type</b> <li><a class="anchor" id="a323660e5704618c07b0d1d38f3f9ff02"></a><!-- doxytag: member="std::sub_match::first_type" ref="a323660e5704618c07b0d1d38f3f9ff02" args="" --> typedef _BiIter <b>first_type</b> <li><a class="anchor" id="a58ff33d1fb8d9a4d31a1cb60f2de17dd"></a><!-- doxytag: member="std::sub_match::iterator" ref="a58ff33d1fb8d9a4d31a1cb60f2de17dd" args="" --> typedef _BiIter <b>iterator</b> <li>typedef _BiIter <a class="el" href="a00263.html#a6d205c1eab800cb27d82060d11d531a3">second_type</a> <li><a class="anchor" id="a0c88c8e870e61270b0d66d9cf4c3b5dc"></a><!-- doxytag: member="std::sub_match::string_type" ref="a0c88c8e870e61270b0d66d9cf4c3b5dc" args="" --> typedef <a class="el" href="a00253.html">std::basic_string</a><br class="typebreak"/> < value_type > <b>string_type</b> <li><a class="anchor" id="a347cefb21853cc29d45a500b9edab4a0"></a><!-- doxytag: member="std::sub_match::value_type" ref="a347cefb21853cc29d45a500b9edab4a0" args="" --> typedef iterator_traits<br class="typebreak"/> < _BiIter >::value_type <b>value_type</b> </ul> <h2><a name="pub-methods"></a> Public Member Functions</h2> <ul> <li>int <a class="el" href="a00704.html#a6df0d57626fcbb60ecb93af770613dae">compare</a> (const <a class="el" href="a00704.html">sub_match</a> &__s) const <li>int <a class="el" href="a00704.html#ab22cf4efb0e5c925cc965ac364569133">compare</a> (const value_type *__s) const <li>int <a class="el" href="a00704.html#adb0557e6068182cb136e524f1fe016a1">compare</a> (const <a class="el" href="a00253.html">string_type</a> &__s) const <li>difference_type <a class="el" href="a00704.html#a74f61cff4cba887613e5428260f882ed">length</a> () const <li><a class="el" href="a00704.html#aa1419d9c0b0e55127b50126a9a31645f">operator string_type</a> () const <li><a class="el" href="a00253.html">string_type</a> <a class="el" href="a00704.html#ad8c99d45b2d8f0066d06284bdb5dfcbd">str</a> () const <li><a class="anchor" id="a786a298eb39215993453f1299b02c9e3"></a><!-- doxytag: member="std::sub_match::swap" ref="a786a298eb39215993453f1299b02c9e3" args="(pair &__p)" --> void <b>swap</b> (<a class="el" href="a00263.html">pair</a> &__p) </ul> <h2><a name="pub-attribs"></a> Public Attributes</h2> <ul> <li>_BiIter <a class="el" href="a00263.html#a198b03cffc037835dc1dc01c926ce251">first</a> <li><a class="anchor" id="a418744263c498aabc55254401b181157"></a><!-- doxytag: member="std::sub_match::matched" ref="a418744263c498aabc55254401b181157" args="" --> bool <b>matched</b> <li>_BiIter <a class="el" href="a00263.html#a91179413226db12e66346d3673b7835f">second</a> </ul> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><h3>template<typename _BiIter><br/> class std::sub_match< _BiIter ></h3> <p>A sequence of characters matched by a particular marked sub-expression.</p> <p>An object of this class is essentially a pair of iterators marking a matched subexpression within a regular expression pattern match. Such objects can be converted to and compared with <a class="el" href="a00253.html" title="Managing sequences of characters and character-like objects.">std::basic_string</a> objects of a similar base character type as the pattern matched by the regular expression.</p> <p>The iterators that make up the pair are the usual half-open interval referencing the actual original pattern matched. </p> <p>Definition at line <a class="el" href="a01006_source.html#l00757">757</a> of file <a class="el" href="a01006_source.html">regex.h</a>.</p> </div><hr/><h2>Member Typedef Documentation</h2> <a class="anchor" id="a6d205c1eab800cb27d82060d11d531a3"></a><!-- doxytag: member="std::sub_match::second_type" ref="a6d205c1eab800cb27d82060d11d531a3" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef _BiIter <a class="el" href="a00263.html">std::pair</a>< _BiIter , _BiIter >::<a class="el" href="a00263.html#a6d205c1eab800cb27d82060d11d531a3">second_type</a><code> [inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p><code>first_type</code> is the first bound type </p> <p>Definition at line <a class="el" href="a01060_source.html#l00090">90</a> of file <a class="el" href="a01060_source.html">stl_pair.h</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a6df0d57626fcbb60ecb93af770613dae"></a><!-- doxytag: member="std::sub_match::compare" ref="a6df0d57626fcbb60ecb93af770613dae" args="(const sub_match &__s) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _BiIter> </div> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a00704.html">std::sub_match</a>< _BiIter >::compare </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00704.html">sub_match</a>< _BiIter > & </td> <td class="paramname"><em>__s</em></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Compares this and another matched sequence. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">s</td><td>Another matched sequence to compare to this one.</td></tr> </table> </dd> </dl> <dl><dt><b>Return values:</b></dt><dd> <table class="retval"> <tr><td class="paramname"><0</td><td>this matched sequence will collate before <code>s</code>. </td></tr> <tr><td class="paramname">=0</td><td>this matched sequence is equivalent to <code>s</code>. </td></tr> <tr><td class="paramname"><0</td><td>this matched sequence will collate after <code>s</code>. </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a01006_source.html#l00818">818</a> of file <a class="el" href="a01006_source.html">regex.h</a>.</p> <p>Referenced by <a class="el" href="a01006_source.html#l00882">std::operator!=()</a>, <a class="el" href="a01006_source.html#l00894">std::operator<()</a>, <a class="el" href="a01006_source.html#l00906">std::operator<=()</a>, <a class="el" href="a01006_source.html#l00870">std::operator==()</a>, <a class="el" href="a01006_source.html#l00930">std::operator>()</a>, and <a class="el" href="a01006_source.html#l00918">std::operator>=()</a>.</p> </div> </div> <a class="anchor" id="adb0557e6068182cb136e524f1fe016a1"></a><!-- doxytag: member="std::sub_match::compare" ref="adb0557e6068182cb136e524f1fe016a1" args="(const string_type &__s) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _BiIter> </div> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a00704.html">std::sub_match</a>< _BiIter >::compare </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00253.html">string_type</a> & </td> <td class="paramname"><em>__s</em></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Compares this <a class="el" href="a00704.html">sub_match</a> to a string. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">s</td><td>A string to compare to this <a class="el" href="a00704.html">sub_match</a>.</td></tr> </table> </dd> </dl> <dl><dt><b>Return values:</b></dt><dd> <table class="retval"> <tr><td class="paramname"><0</td><td>this matched sequence will collate before <code>s</code>. </td></tr> <tr><td class="paramname">=0</td><td>this matched sequence is equivalent to <code>s</code>. </td></tr> <tr><td class="paramname"><0</td><td>this matched sequence will collate after <code>s</code>. </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a01006_source.html#l00831">831</a> of file <a class="el" href="a01006_source.html">regex.h</a>.</p> </div> </div> <a class="anchor" id="ab22cf4efb0e5c925cc965ac364569133"></a><!-- doxytag: member="std::sub_match::compare" ref="ab22cf4efb0e5c925cc965ac364569133" args="(const value_type *__s) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _BiIter> </div> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a00704.html">std::sub_match</a>< _BiIter >::compare </td> <td>(</td> <td class="paramtype">const value_type * </td> <td class="paramname"><em>__s</em></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Compares this <a class="el" href="a00704.html">sub_match</a> to a C-style string. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">s</td><td>A C-style string to compare to this <a class="el" href="a00704.html">sub_match</a>.</td></tr> </table> </dd> </dl> <dl><dt><b>Return values:</b></dt><dd> <table class="retval"> <tr><td class="paramname"><0</td><td>this matched sequence will collate before <code>s</code>. </td></tr> <tr><td class="paramname">=0</td><td>this matched sequence is equivalent to <code>s</code>. </td></tr> <tr><td class="paramname"><0</td><td>this matched sequence will collate after <code>s</code>. </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a01006_source.html#l00844">844</a> of file <a class="el" href="a01006_source.html">regex.h</a>.</p> </div> </div> <a class="anchor" id="a74f61cff4cba887613e5428260f882ed"></a><!-- doxytag: member="std::sub_match::length" ref="a74f61cff4cba887613e5428260f882ed" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _BiIter> </div> <table class="memname"> <tr> <td class="memname">difference_type <a class="el" href="a00704.html">std::sub_match</a>< _BiIter >::length </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Gets the length of the matching sequence. </p> <p>Definition at line <a class="el" href="a01006_source.html#l00775">775</a> of file <a class="el" href="a01006_source.html">regex.h</a>.</p> </div> </div> <a class="anchor" id="aa1419d9c0b0e55127b50126a9a31645f"></a><!-- doxytag: member="std::sub_match::operator string_type" ref="aa1419d9c0b0e55127b50126a9a31645f" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _BiIter> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00704.html">std::sub_match</a>< _BiIter >::operator <a class="el" href="a00253.html">string_type</a> </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Gets the matching sequence as a string. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>the matching sequence as a string.</dd></dl> <p>This is the implicit conversion operator. It is identical to the <a class="el" href="a00704.html#ad8c99d45b2d8f0066d06284bdb5dfcbd" title="Gets the matching sequence as a string.">str()</a> member function except that it will want to pop up in unexpected places and cause a great deal of confusion and cursing from the unwary. </p> <p>Definition at line <a class="el" href="a01006_source.html#l00788">788</a> of file <a class="el" href="a01006_source.html">regex.h</a>.</p> </div> </div> <a class="anchor" id="ad8c99d45b2d8f0066d06284bdb5dfcbd"></a><!-- doxytag: member="std::sub_match::str" ref="ad8c99d45b2d8f0066d06284bdb5dfcbd" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _BiIter> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00253.html">string_type</a> <a class="el" href="a00704.html">std::sub_match</a>< _BiIter >::str </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Gets the matching sequence as a string. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>the matching sequence as a string. </dd></dl> <p>Definition at line <a class="el" href="a01006_source.html#l00801">801</a> of file <a class="el" href="a01006_source.html">regex.h</a>.</p> <p>Referenced by <a class="el" href="a01006_source.html#l00818">std::sub_match< _Bi_iter >::compare()</a>, and <a class="el" href="a01006_source.html#l01420">std::operator<<()</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a198b03cffc037835dc1dc01c926ce251"></a><!-- doxytag: member="std::sub_match::first" ref="a198b03cffc037835dc1dc01c926ce251" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_BiIter <a class="el" href="a00263.html">std::pair</a>< _BiIter , _BiIter >::<a class="el" href="a00263.html#a198b03cffc037835dc1dc01c926ce251">first</a><code> [inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p><code>second_type</code> is the second bound type </p> <p>Definition at line <a class="el" href="a01060_source.html#l00092">92</a> of file <a class="el" href="a01060_source.html">stl_pair.h</a>.</p> <p>Referenced by <a class="el" href="a01006_source.html#l00775">std::sub_match< _Bi_iter >::length()</a>, <a class="el" href="a01006_source.html#l00788">std::sub_match< _Bi_iter >::operator string_type()</a>, and <a class="el" href="a01006_source.html#l00801">std::sub_match< _Bi_iter >::str()</a>.</p> </div> </div> <a class="anchor" id="a91179413226db12e66346d3673b7835f"></a><!-- doxytag: member="std::sub_match::second" ref="a91179413226db12e66346d3673b7835f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_BiIter <a class="el" href="a00263.html">std::pair</a>< _BiIter , _BiIter >::<a class="el" href="a00263.html#a91179413226db12e66346d3673b7835f">second</a><code> [inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p><code>first</code> is a copy of the first object </p> <p>Definition at line <a class="el" href="a01060_source.html#l00093">93</a> of file <a class="el" href="a01060_source.html">stl_pair.h</a>.</p> <p>Referenced by <a class="el" href="a01006_source.html#l00775">std::sub_match< _Bi_iter >::length()</a>, <a class="el" href="a01006_source.html#l00788">std::sub_match< _Bi_iter >::operator string_type()</a>, and <a class="el" href="a01006_source.html#l00801">std::sub_match< _Bi_iter >::str()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="a01006_source.html">regex.h</a></li> </ul> </div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="a01137.html">std</a> </li> <li class="navelem"><a class="el" href="a00704.html">sub_match</a> </li> <li class="footer">Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </li> </ul> </div> </body> </html>