<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.15"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libstdc++: std::__detail::_Scanner< _CharT > 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"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(initResizable); /* @license-end */</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.15 --> </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"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('a06844.html','');}); /* @license-end */ </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="#pro-types">Protected Types</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> | <a href="a06841.html">List of all members</a> </div> <div class="headertitle"> <div class="title">std::__detail::_Scanner< _CharT > Class Template Reference<div class="ingroups"><a class="el" href="a01493.html">Regular Expressions</a> » <a class="el" href="a01492.html">Base and Implementation Classes</a></div></div> </div> </div><!--header--> <div class="contents"> <p>Inherits std::__detail::_ScannerBase.</p> <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:ac18390e1e7aab4a45374643331fc8929"><td class="memItemLeft" align="right" valign="top"><a id="ac18390e1e7aab4a45374643331fc8929"></a> typedef const <a class="el" href="a05856.html">std::ctype</a>< _CharT > </td><td class="memItemRight" valign="bottom"><b>_CtypeT</b></td></tr> <tr class="separator:ac18390e1e7aab4a45374643331fc8929"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aede723e290fb552b6eceeda1f7096f9f"><td class="memItemLeft" align="right" valign="top"><a id="aede723e290fb552b6eceeda1f7096f9f"></a> typedef <a class="el" href="a01564.html#a510caedb3e640b81620023a85c1280bb">regex_constants::syntax_option_type</a> </td><td class="memItemRight" valign="bottom"><b>_FlagT</b></td></tr> <tr class="separator:aede723e290fb552b6eceeda1f7096f9f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af42853c42d88bdd46e9116162c73ffc4"><td class="memItemLeft" align="right" valign="top"><a id="af42853c42d88bdd46e9116162c73ffc4"></a> typedef const _CharT * </td><td class="memItemRight" valign="bottom"><b>_IterT</b></td></tr> <tr class="separator:af42853c42d88bdd46e9116162c73ffc4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a692c186463ed91abcc5c5d36b5587261"><td class="memItemLeft" align="right" valign="top"><a id="a692c186463ed91abcc5c5d36b5587261"></a> typedef <a class="el" href="a04768.html">std::basic_string</a>< _CharT > </td><td class="memItemRight" valign="bottom"><b>_StringT</b></td></tr> <tr class="separator:a692c186463ed91abcc5c5d36b5587261"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab090b289c52330558aea33a0225948e1"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>_TokenT</b> : unsigned { <br />   <b>_S_token_anychar</b>, <b>_S_token_ord_char</b>, <b>_S_token_oct_num</b>, <b>_S_token_hex_num</b>, <br />   <b>_S_token_backref</b>, <b>_S_token_subexpr_begin</b>, <b>_S_token_subexpr_no_group_begin</b>, <b>_S_token_subexpr_lookahead_begin</b>, <br />   <b>_S_token_subexpr_end</b>, <b>_S_token_bracket_begin</b>, <b>_S_token_bracket_neg_begin</b>, <b>_S_token_bracket_end</b>, <br />   <b>_S_token_interval_begin</b>, <b>_S_token_interval_end</b>, <b>_S_token_quoted_class</b>, <b>_S_token_char_class_name</b>, <br />   <b>_S_token_collsymbol</b>, <b>_S_token_equiv_class_name</b>, <b>_S_token_opt</b>, <b>_S_token_or</b>, <br />   <b>_S_token_closure0</b>, <b>_S_token_closure1</b>, <b>_S_token_line_begin</b>, <b>_S_token_line_end</b>, <br />   <b>_S_token_word_bound</b>, <b>_S_token_comma</b>, <b>_S_token_dup_count</b>, <b>_S_token_eof</b>, <br />   <b>_S_token_bracket_dash</b>, <b>_S_token_unknown</b> <br /> }</td></tr> <tr class="separator:ab090b289c52330558aea33a0225948e1"><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:ad15fc9b1f1ea0da8935115abeb683cd3"><td class="memItemLeft" align="right" valign="top"><a id="ad15fc9b1f1ea0da8935115abeb683cd3"></a>  </td><td class="memItemRight" valign="bottom"><b>_Scanner</b> (_IterT __begin, _IterT __end, <a class="el" href="a01564.html#a510caedb3e640b81620023a85c1280bb">_FlagT</a> __flags, <a class="el" href="a05816.html">std::locale</a> __loc)</td></tr> <tr class="separator:ad15fc9b1f1ea0da8935115abeb683cd3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a89becd0750ed24b4b4110ba256a436b7"><td class="memItemLeft" align="right" valign="top"><a id="a89becd0750ed24b4b4110ba256a436b7"></a> void </td><td class="memItemRight" valign="bottom"><b>_M_advance</b> ()</td></tr> <tr class="separator:a89becd0750ed24b4b4110ba256a436b7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad8d4e36666053f52ad5d74bad80bcff9"><td class="memItemLeft" align="right" valign="top"><a id="ad8d4e36666053f52ad5d74bad80bcff9"></a> _TokenT </td><td class="memItemRight" valign="bottom"><b>_M_get_token</b> () const</td></tr> <tr class="separator:ad8d4e36666053f52ad5d74bad80bcff9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7ed7acf5ac12b7380f1d7c68dbf3f741"><td class="memItemLeft" align="right" valign="top"><a id="a7ed7acf5ac12b7380f1d7c68dbf3f741"></a> const <a class="el" href="a04768.html">_StringT</a> & </td><td class="memItemRight" valign="bottom"><b>_M_get_value</b> () const</td></tr> <tr class="separator:a7ed7acf5ac12b7380f1d7c68dbf3f741"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a> Protected Types</h2></td></tr> <tr class="memitem:aa60c2bc56aae2ba4c4623e66e3a00fd1"><td class="memItemLeft" align="right" valign="top"><a id="aa60c2bc56aae2ba4c4623e66e3a00fd1"></a>enum  </td><td class="memItemRight" valign="bottom"><b>_StateT</b> { <b>_S_state_normal</b>, <b>_S_state_in_brace</b>, <b>_S_state_in_bracket</b> }</td></tr> <tr class="separator:aa60c2bc56aae2ba4c4623e66e3a00fd1"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr class="memitem:a27e4d9eda13d4514ceeb0bc3baa28bdf"><td class="memItemLeft" align="right" valign="top"><a id="a27e4d9eda13d4514ceeb0bc3baa28bdf"></a> const char * </td><td class="memItemRight" valign="bottom"><b>_M_find_escape</b> (char __c)</td></tr> <tr class="separator:a27e4d9eda13d4514ceeb0bc3baa28bdf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5a762678356f30abc2a8bb989d6ec08e"><td class="memItemLeft" align="right" valign="top"><a id="a5a762678356f30abc2a8bb989d6ec08e"></a> bool </td><td class="memItemRight" valign="bottom"><b>_M_is_awk</b> () const</td></tr> <tr class="separator:a5a762678356f30abc2a8bb989d6ec08e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8124d08b2d69aa6119e1d25d1b1834c5"><td class="memItemLeft" align="right" valign="top"><a id="a8124d08b2d69aa6119e1d25d1b1834c5"></a> bool </td><td class="memItemRight" valign="bottom"><b>_M_is_basic</b> () const</td></tr> <tr class="separator:a8124d08b2d69aa6119e1d25d1b1834c5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa292ea9622ea617a7b693b1b12b2e23a"><td class="memItemLeft" align="right" valign="top"><a id="aa292ea9622ea617a7b693b1b12b2e23a"></a> bool </td><td class="memItemRight" valign="bottom"><b>_M_is_ecma</b> () const</td></tr> <tr class="separator:aa292ea9622ea617a7b693b1b12b2e23a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4589907748fd449ab1cdadfe8bec4493"><td class="memItemLeft" align="right" valign="top"><a id="a4589907748fd449ab1cdadfe8bec4493"></a> bool </td><td class="memItemRight" valign="bottom"><b>_M_is_extended</b> () const</td></tr> <tr class="separator:a4589907748fd449ab1cdadfe8bec4493"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac116e319eafe32f11645ed563ad60b8a"><td class="memItemLeft" align="right" valign="top"><a id="ac116e319eafe32f11645ed563ad60b8a"></a> bool </td><td class="memItemRight" valign="bottom"><b>_M_is_grep</b> () const</td></tr> <tr class="separator:ac116e319eafe32f11645ed563ad60b8a"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr class="memitem:ae72c58307b8c3209deb3604cf0355578"><td class="memItemLeft" align="right" valign="top"><a id="ae72c58307b8c3209deb3604cf0355578"></a> bool </td><td class="memItemRight" valign="bottom"><b>_M_at_bracket_start</b></td></tr> <tr class="separator:ae72c58307b8c3209deb3604cf0355578"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3cd6beee13821bec2c8942875328a503"><td class="memItemLeft" align="right" valign="top"><a id="a3cd6beee13821bec2c8942875328a503"></a> const <a class="el" href="a07764.html">std::pair</a>< char, char > </td><td class="memItemRight" valign="bottom"><b>_M_awk_escape_tbl</b> [11]</td></tr> <tr class="separator:a3cd6beee13821bec2c8942875328a503"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae98e3a521c9396f97e16d5205460c8a6"><td class="memItemLeft" align="right" valign="top"><a id="ae98e3a521c9396f97e16d5205460c8a6"></a> const char * </td><td class="memItemRight" valign="bottom"><b>_M_basic_spec_char</b></td></tr> <tr class="separator:ae98e3a521c9396f97e16d5205460c8a6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abd7917549072f2c0d8ca18693640f570"><td class="memItemLeft" align="right" valign="top"><a id="abd7917549072f2c0d8ca18693640f570"></a> const <a class="el" href="a07764.html">std::pair</a>< char, char > </td><td class="memItemRight" valign="bottom"><b>_M_ecma_escape_tbl</b> [8]</td></tr> <tr class="separator:abd7917549072f2c0d8ca18693640f570"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2dd14c5748bfc906ec2ec4321dd1d442"><td class="memItemLeft" align="right" valign="top"><a id="a2dd14c5748bfc906ec2ec4321dd1d442"></a> const char * </td><td class="memItemRight" valign="bottom"><b>_M_ecma_spec_char</b></td></tr> <tr class="separator:a2dd14c5748bfc906ec2ec4321dd1d442"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a85432b4492dc854d82d084fa11128196"><td class="memItemLeft" align="right" valign="top"><a id="a85432b4492dc854d82d084fa11128196"></a> const <a class="el" href="a07764.html">std::pair</a>< char, char > * </td><td class="memItemRight" valign="bottom"><b>_M_escape_tbl</b></td></tr> <tr class="separator:a85432b4492dc854d82d084fa11128196"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aef8deb70f3b5b182654a6c6c3622f4fd"><td class="memItemLeft" align="right" valign="top"><a id="aef8deb70f3b5b182654a6c6c3622f4fd"></a> const char * </td><td class="memItemRight" valign="bottom"><b>_M_extended_spec_char</b></td></tr> <tr class="separator:aef8deb70f3b5b182654a6c6c3622f4fd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac9a4efc22a0e7029d71f9b44cb00c776"><td class="memItemLeft" align="right" valign="top"><a id="ac9a4efc22a0e7029d71f9b44cb00c776"></a> <a class="el" href="a01564.html#a510caedb3e640b81620023a85c1280bb">_FlagT</a> </td><td class="memItemRight" valign="bottom"><b>_M_flags</b></td></tr> <tr class="separator:ac9a4efc22a0e7029d71f9b44cb00c776"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7de001673a7255a4c74d41ba27a93383"><td class="memItemLeft" align="right" valign="top"><a id="a7de001673a7255a4c74d41ba27a93383"></a> const char * </td><td class="memItemRight" valign="bottom"><b>_M_spec_char</b></td></tr> <tr class="separator:a7de001673a7255a4c74d41ba27a93383"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5dd81b011dba023520eda346239daf7e"><td class="memItemLeft" align="right" valign="top"><a id="a5dd81b011dba023520eda346239daf7e"></a> _StateT </td><td class="memItemRight" valign="bottom"><b>_M_state</b></td></tr> <tr class="separator:a5dd81b011dba023520eda346239daf7e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab3c09c20b1cda313ffbb77a4a3763ba1"><td class="memItemLeft" align="right" valign="top"><a id="ab3c09c20b1cda313ffbb77a4a3763ba1"></a> _TokenT </td><td class="memItemRight" valign="bottom"><b>_M_token</b></td></tr> <tr class="separator:ab3c09c20b1cda313ffbb77a4a3763ba1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a12568206566b3155d8e88035ee0eed1a"><td class="memItemLeft" align="right" valign="top"><a id="a12568206566b3155d8e88035ee0eed1a"></a> const <a class="el" href="a07764.html">std::pair</a>< char, _TokenT > </td><td class="memItemRight" valign="bottom"><b>_M_token_tbl</b> [9]</td></tr> <tr class="separator:a12568206566b3155d8e88035ee0eed1a"><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 _CharT><br /> class std::__detail::_Scanner< _CharT ></h3> <p>Scans an input range for regex tokens. </p> <p>The _Scanner class interprets the regular expression pattern in the input range passed to its constructor as a sequence of parse tokens passed to the regular expression compiler. The sequence of tokens provided depends on the flag settings passed to the constructor: different regular expression grammars will interpret the same input pattern in syntactically different ways. </p> <p class="definition">Definition at line <a class="el" href="a00494_source.html#l00210">210</a> of file <a class="el" href="a00494_source.html">regex_scanner.h</a>.</p> </div><h2 class="groupheader">Member Enumeration Documentation</h2> <a id="ab090b289c52330558aea33a0225948e1"></a> <h2 class="memtitle"><span class="permalink"><a href="#ab090b289c52330558aea33a0225948e1">◆ </a></span>_TokenT</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">enum std::__detail::_ScannerBase::_TokenT : unsigned</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>Token types returned from the scanner. </p> <p class="definition">Definition at line <a class="el" href="a00494_source.html#l00046">46</a> of file <a class="el" href="a00494_source.html">regex_scanner.h</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="a00494_source.html">regex_scanner.h</a></li> <li><a class="el" href="a00497_source.html">regex_scanner.tcc</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="a01538.html">std</a></li><li class="navelem"><a class="el" href="a01539.html">__detail</a></li><li class="navelem"><a class="el" href="a06844.html">_Scanner</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.15 </li> </ul> </div> </body> </html>