<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.13"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libstdc++: std::sub_match< _BiIter > Class Template Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">libstdc++ </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.13 --> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('a05961.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> | <a href="a05958.html">List of all members</a> </div> <div class="headertitle"> <div class="title">std::sub_match< _BiIter > Class Template Reference<div class="ingroups"><a class="el" href="a01446.html">Regular Expressions</a></div></div> </div> </div><!--header--> <div class="contents"> <div class="dynheader"> Inheritance diagram for std::sub_match< _BiIter >:</div> <div class="dyncontent"> <div class="center"><iframe scrolling="no" frameborder="0" src="a05960.svg" width="170" height="123"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> </div> <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> Public Types</h2></td></tr> <tr class="memitem:a822ad0b9f749b09ff7e4fb3bd7bfcf68"><td class="memItemLeft" align="right" valign="top"><a id="a822ad0b9f749b09ff7e4fb3bd7bfcf68"></a> typedef __iter_traits::difference_type </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr> <tr class="separator:a822ad0b9f749b09ff7e4fb3bd7bfcf68"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a323660e5704618c07b0d1d38f3f9ff02"><td class="memItemLeft" align="right" valign="top"><a id="a323660e5704618c07b0d1d38f3f9ff02"></a> typedef _BiIter </td><td class="memItemRight" valign="bottom"><b>first_type</b></td></tr> <tr class="separator:a323660e5704618c07b0d1d38f3f9ff02"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a58ff33d1fb8d9a4d31a1cb60f2de17dd"><td class="memItemLeft" align="right" valign="top"><a id="a58ff33d1fb8d9a4d31a1cb60f2de17dd"></a> typedef _BiIter </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr> <tr class="separator:a58ff33d1fb8d9a4d31a1cb60f2de17dd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6d205c1eab800cb27d82060d11d531a3"><td class="memItemLeft" align="right" valign="top">typedef _BiIter </td><td class="memItemRight" valign="bottom"><a class="el" href="a06689.html#a6d205c1eab800cb27d82060d11d531a3">second_type</a></td></tr> <tr class="separator:a6d205c1eab800cb27d82060d11d531a3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0c88c8e870e61270b0d66d9cf4c3b5dc"><td class="memItemLeft" align="right" valign="top"><a id="a0c88c8e870e61270b0d66d9cf4c3b5dc"></a> typedef <a class="el" href="a04189.html">std::basic_string</a>< value_type > </td><td class="memItemRight" valign="bottom"><b>string_type</b></td></tr> <tr class="separator:a0c88c8e870e61270b0d66d9cf4c3b5dc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1279ea27fb44c5be563bae28f51d0324"><td class="memItemLeft" align="right" valign="top"><a id="a1279ea27fb44c5be563bae28f51d0324"></a> typedef __iter_traits::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr> <tr class="separator:a1279ea27fb44c5be563bae28f51d0324"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:af3e0ace5e44267f4c24c53b5a1793747"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a05961.html#af3e0ace5e44267f4c24c53b5a1793747">compare</a> (const <a class="el" href="a05961.html">sub_match</a> &__s) const</td></tr> <tr class="separator:af3e0ace5e44267f4c24c53b5a1793747"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af573275c5c3507af4d59175f72a3dfd0"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a05961.html#af573275c5c3507af4d59175f72a3dfd0">compare</a> (const <a class="el" href="a04189.html">string_type</a> &__s) const</td></tr> <tr class="separator:af573275c5c3507af4d59175f72a3dfd0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a938d59ee36df109ba5d20ac59a1b90e5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a05961.html#a938d59ee36df109ba5d20ac59a1b90e5">compare</a> (const value_type *__s) const</td></tr> <tr class="separator:a938d59ee36df109ba5d20ac59a1b90e5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac0b3aa535d8cb80f8dc72a1b71ac9a9f"><td class="memItemLeft" align="right" valign="top">difference_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a05961.html#ac0b3aa535d8cb80f8dc72a1b71ac9a9f">length</a> () const</td></tr> <tr class="separator:ac0b3aa535d8cb80f8dc72a1b71ac9a9f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaa88132502a374183f5de838441b9002"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a05961.html#aaa88132502a374183f5de838441b9002">operator string_type</a> () const</td></tr> <tr class="separator:aaa88132502a374183f5de838441b9002"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acf17e2826b47f664e97bcf9be35fd9f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a04189.html">string_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a05961.html#acf17e2826b47f664e97bcf9be35fd9f2">str</a> () const</td></tr> <tr class="separator:acf17e2826b47f664e97bcf9be35fd9f2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aca9939156d3457bfcf68f0871818414d"><td class="memItemLeft" align="right" valign="top"><a id="aca9939156d3457bfcf68f0871818414d"></a> void </td><td class="memItemRight" valign="bottom"><b>swap</b> (<a class="el" href="a06689.html">pair</a> &__p) noexcept(noexcept(swap(<a class="el" href="a06689.html#a198b03cffc037835dc1dc01c926ce251">first</a>, __p.first)) &&noexcept(swap(<a class="el" href="a06689.html#a91179413226db12e66346d3673b7835f">second</a>, __p.second)))</td></tr> <tr class="separator:aca9939156d3457bfcf68f0871818414d"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a> Public Attributes</h2></td></tr> <tr class="memitem:a198b03cffc037835dc1dc01c926ce251"><td class="memItemLeft" align="right" valign="top">_BiIter </td><td class="memItemRight" valign="bottom"><a class="el" href="a06689.html#a198b03cffc037835dc1dc01c926ce251">first</a></td></tr> <tr class="separator:a198b03cffc037835dc1dc01c926ce251"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a418744263c498aabc55254401b181157"><td class="memItemLeft" align="right" valign="top"><a id="a418744263c498aabc55254401b181157"></a> bool </td><td class="memItemRight" valign="bottom"><b>matched</b></td></tr> <tr class="separator:a418744263c498aabc55254401b181157"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a91179413226db12e66346d3673b7835f"><td class="memItemLeft" align="right" valign="top">_BiIter </td><td class="memItemRight" valign="bottom"><a class="el" href="a06689.html#a91179413226db12e66346d3673b7835f">second</a></td></tr> <tr class="separator:a91179413226db12e66346d3673b7835f"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">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 std::basic_string 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 class="definition">Definition at line <a class="el" href="a00431_source.html#l00824">824</a> of file <a class="el" href="a00431_source.html">regex.h</a>.</p> </div><h2 class="groupheader">Member Typedef Documentation</h2> <a id="a6d205c1eab800cb27d82060d11d531a3"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6d205c1eab800cb27d82060d11d531a3">◆ </a></span>second_type</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">typedef _BiIter <a class="el" href="a06689.html">std::pair</a>< _BiIter , _BiIter >::<a class="el" href="a06689.html#a6d205c1eab800cb27d82060d11d531a3">second_type</a></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inherited</span></span> </td> </tr> </table> </div><div class="memdoc"> <p><code>first_type</code> is the first bound type </p> <p class="definition">Definition at line <a class="el" href="a00527_source.html#l00099">99</a> of file <a class="el" href="a00527_source.html">stl_pair.h</a>.</p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a id="af3e0ace5e44267f4c24c53b5a1793747"></a> <h2 class="memtitle"><span class="permalink"><a href="#af3e0ace5e44267f4c24c53b5a1793747">◆ </a></span>compare() <span class="overload">[1/3]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _BiIter> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a05961.html">std::sub_match</a>< _BiIter >::compare </td> <td>(</td> <td class="paramtype">const <a class="el" href="a05961.html">sub_match</a>< _BiIter > & </td> <td class="paramname"><em>__s</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Compares this and another matched sequence. </p> <dl class="params"><dt>Parameters</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 class="retval"><dt>Return values</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 class="definition">Definition at line <a class="el" href="a00431_source.html#l00885">885</a> of file <a class="el" href="a00431_source.html">regex.h</a>.</p> <p class="reference">Referenced by <a class="el" href="a00431_source.html#l00951">std::operator!=()</a>, <a class="el" href="a00431_source.html#l00962">std::operator<()</a>, <a class="el" href="a00431_source.html#l00973">std::operator<=()</a>, <a class="el" href="a00431_source.html#l00940">std::operator==()</a>, <a class="el" href="a00431_source.html#l00995">std::operator>()</a>, and <a class="el" href="a00431_source.html#l00984">std::operator>=()</a>.</p> </div> </div> <a id="af573275c5c3507af4d59175f72a3dfd0"></a> <h2 class="memtitle"><span class="permalink"><a href="#af573275c5c3507af4d59175f72a3dfd0">◆ </a></span>compare() <span class="overload">[2/3]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _BiIter> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a05961.html">std::sub_match</a>< _BiIter >::compare </td> <td>(</td> <td class="paramtype">const <a class="el" href="a04189.html">string_type</a> & </td> <td class="paramname"><em>__s</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Compares this sub_match to a string. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__s</td><td>A string to compare to this sub_match.</td></tr> </table> </dd> </dl> <dl class="retval"><dt>Return values</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 class="definition">Definition at line <a class="el" href="a00431_source.html#l00898">898</a> of file <a class="el" href="a00431_source.html">regex.h</a>.</p> </div> </div> <a id="a938d59ee36df109ba5d20ac59a1b90e5"></a> <h2 class="memtitle"><span class="permalink"><a href="#a938d59ee36df109ba5d20ac59a1b90e5">◆ </a></span>compare() <span class="overload">[3/3]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _BiIter> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a05961.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</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Compares this sub_match to a C-style string. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__s</td><td>A C-style string to compare to this sub_match.</td></tr> </table> </dd> </dl> <dl class="retval"><dt>Return values</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 class="definition">Definition at line <a class="el" href="a00431_source.html#l00911">911</a> of file <a class="el" href="a00431_source.html">regex.h</a>.</p> </div> </div> <a id="ac0b3aa535d8cb80f8dc72a1b71ac9a9f"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac0b3aa535d8cb80f8dc72a1b71ac9a9f">◆ </a></span>length()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _BiIter> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">difference_type <a class="el" href="a05961.html">std::sub_match</a>< _BiIter >::length </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Gets the length of the matching sequence. </p> <p class="definition">Definition at line <a class="el" href="a00431_source.html#l00842">842</a> of file <a class="el" href="a00431_source.html">regex.h</a>.</p> </div> </div> <a id="aaa88132502a374183f5de838441b9002"></a> <h2 class="memtitle"><span class="permalink"><a href="#aaa88132502a374183f5de838441b9002">◆ </a></span>operator string_type()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _BiIter> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a05961.html">std::sub_match</a>< _BiIter >::operator <a class="el" href="a04189.html">string_type</a> </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Gets the matching sequence as a string. </p> <dl class="section return"><dt>Returns</dt><dd>the matching sequence as a string.</dd></dl> <p>This is the implicit conversion operator. It is identical to the str() 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 class="definition">Definition at line <a class="el" href="a00431_source.html#l00855">855</a> of file <a class="el" href="a00431_source.html">regex.h</a>.</p> </div> </div> <a id="acf17e2826b47f664e97bcf9be35fd9f2"></a> <h2 class="memtitle"><span class="permalink"><a href="#acf17e2826b47f664e97bcf9be35fd9f2">◆ </a></span>str()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _BiIter> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a04189.html">string_type</a> <a class="el" href="a05961.html">std::sub_match</a>< _BiIter >::str </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Gets the matching sequence as a string. </p> <dl class="section return"><dt>Returns</dt><dd>the matching sequence as a string. </dd></dl> <p class="definition">Definition at line <a class="el" href="a00431_source.html#l00868">868</a> of file <a class="el" href="a00431_source.html">regex.h</a>.</p> <p class="reference">Referenced by <a class="el" href="a00431_source.html#l00885">std::sub_match< _Bi_iter >::compare()</a>, and <a class="el" href="a00431_source.html#l01483">std::operator<<()</a>.</p> </div> </div> <h2 class="groupheader">Member Data Documentation</h2> <a id="a198b03cffc037835dc1dc01c926ce251"></a> <h2 class="memtitle"><span class="permalink"><a href="#a198b03cffc037835dc1dc01c926ce251">◆ </a></span>first</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">_BiIter <a class="el" href="a06689.html">std::pair</a>< _BiIter , _BiIter >::first</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inherited</span></span> </td> </tr> </table> </div><div class="memdoc"> <p><code>second_type</code> is the second bound type </p> <p class="definition">Definition at line <a class="el" href="a00527_source.html#l00101">101</a> of file <a class="el" href="a00527_source.html">stl_pair.h</a>.</p> </div> </div> <a id="a91179413226db12e66346d3673b7835f"></a> <h2 class="memtitle"><span class="permalink"><a href="#a91179413226db12e66346d3673b7835f">◆ </a></span>second</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">_BiIter <a class="el" href="a06689.html">std::pair</a>< _BiIter , _BiIter >::second</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inherited</span></span> </td> </tr> </table> </div><div class="memdoc"> <p><code>first</code> is a copy of the first object </p> <p class="definition">Definition at line <a class="el" href="a00527_source.html#l00102">102</a> of file <a class="el" href="a00527_source.html">stl_pair.h</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="a00431_source.html">regex.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="a01487.html">std</a></li><li class="navelem"><a class="el" href="a05961.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.8.13 </li> </ul> </div> </body> </html>