<!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.5"/> <title>libstdc++: std::__ctype_abstract_base< _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="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); $(window).load(resizeHeight); </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 style="padding-left: 0.5em;"> <div id="projectname">libstdc++ </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> </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('a00004.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-static-attribs">Static Public Attributes</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pro-static-methods">Static Protected Member Functions</a> | <a href="a02685.html">List of all members</a> </div> <div class="headertitle"> <div class="title">std::__ctype_abstract_base< _CharT > Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div> </div><!--header--> <div class="contents"> <div class="dynheader"> Inheritance diagram for std::__ctype_abstract_base< _CharT >:</div> <div class="dyncontent"> <div class="center"><iframe scrolling="no" frameborder="0" src="a02686.svg" width="251" height="288"><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:a5f48720a9ce7a65c85c3eadb6be509f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f48720a9ce7a65c85c3eadb6be509f9"></a> typedef const int * </td><td class="memItemRight" valign="bottom"><b>__to_type</b></td></tr> <tr class="separator:a5f48720a9ce7a65c85c3eadb6be509f9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6b04fb1c6b10871f93cd4f60d0f78f8d"><td class="memItemLeft" align="right" valign="top">typedef _CharT </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a></td></tr> <tr class="separator:a6b04fb1c6b10871f93cd4f60d0f78f8d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3b4ec6a3bdbe8e685eb129460ace4f79"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b4ec6a3bdbe8e685eb129460ace4f79"></a> typedef unsigned short </td><td class="memItemRight" valign="bottom"><b>mask</b></td></tr> <tr class="separator:a3b4ec6a3bdbe8e685eb129460ace4f79"><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:a9ad5e9bf4b65639e19c79dc795c94e99"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a9ad5e9bf4b65639e19c79dc795c94e99">is</a> (mask __m, <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> __c) const </td></tr> <tr class="separator:a9ad5e9bf4b65639e19c79dc795c94e99"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae3a3d67266bd9721181b26618f5da40d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#ae3a3d67266bd9721181b26618f5da40d">is</a> (const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi, mask *__vec) const </td></tr> <tr class="separator:ae3a3d67266bd9721181b26618f5da40d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3c11647c0de25dd088dbb44633828531"><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a3c11647c0de25dd088dbb44633828531">narrow</a> (<a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> __c, char __dfault) const </td></tr> <tr class="separator:a3c11647c0de25dd088dbb44633828531"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a72b8c254c9d7b7f376fb8fed23712fd7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a72b8c254c9d7b7f376fb8fed23712fd7">narrow</a> (const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi, char __dfault, char *__to) const </td></tr> <tr class="separator:a72b8c254c9d7b7f376fb8fed23712fd7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7162d0bf819bcca1980f4f07d7dac7a0"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a7162d0bf819bcca1980f4f07d7dac7a0">scan_is</a> (mask __m, const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi) const </td></tr> <tr class="separator:a7162d0bf819bcca1980f4f07d7dac7a0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1174fbcc54eb1ddd0768fe367320e447"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a1174fbcc54eb1ddd0768fe367320e447">scan_not</a> (mask __m, const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi) const </td></tr> <tr class="separator:a1174fbcc54eb1ddd0768fe367320e447"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad4b200f6cb2021329adf8b915e0ccf5a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#ad4b200f6cb2021329adf8b915e0ccf5a">tolower</a> (<a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> __c) const </td></tr> <tr class="separator:ad4b200f6cb2021329adf8b915e0ccf5a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a47cb1072292d84849ded75c5f2351f50"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a47cb1072292d84849ded75c5f2351f50">tolower</a> (<a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi) const </td></tr> <tr class="separator:a47cb1072292d84849ded75c5f2351f50"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a852a9e9c9f7938220ae5f8cc36e3d017"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a852a9e9c9f7938220ae5f8cc36e3d017">toupper</a> (<a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> __c) const </td></tr> <tr class="separator:a852a9e9c9f7938220ae5f8cc36e3d017"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a54ab446370ba2d0f634863fce23c8f51"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a54ab446370ba2d0f634863fce23c8f51">toupper</a> (<a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi) const </td></tr> <tr class="separator:a54ab446370ba2d0f634863fce23c8f51"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab406c705eec370b9bd6a8e289195ec9a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#ab406c705eec370b9bd6a8e289195ec9a">widen</a> (char __c) const </td></tr> <tr class="separator:ab406c705eec370b9bd6a8e289195ec9a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac10fbcd9784de2639e9ba518bf8d4140"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#ac10fbcd9784de2639e9ba518bf8d4140">widen</a> (const char *__lo, const char *__hi, <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__to) const </td></tr> <tr class="separator:ac10fbcd9784de2639e9ba518bf8d4140"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a> Static Public Attributes</h2></td></tr> <tr class="memitem:a647042ef0953afac8db2505a083d554d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a647042ef0953afac8db2505a083d554d"></a> static const mask </td><td class="memItemRight" valign="bottom"><b>alnum</b></td></tr> <tr class="separator:a647042ef0953afac8db2505a083d554d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3ae00fba70505be303107f4429fd00c5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ae00fba70505be303107f4429fd00c5"></a> static const mask </td><td class="memItemRight" valign="bottom"><b>alpha</b></td></tr> <tr class="separator:a3ae00fba70505be303107f4429fd00c5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afabc36a91999cdcd9a42ac110581bf9a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afabc36a91999cdcd9a42ac110581bf9a"></a> static const mask </td><td class="memItemRight" valign="bottom"><b>cntrl</b></td></tr> <tr class="separator:afabc36a91999cdcd9a42ac110581bf9a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a55c6c04c7389ab91689789a041aa4bbf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55c6c04c7389ab91689789a041aa4bbf"></a> static const mask </td><td class="memItemRight" valign="bottom"><b>digit</b></td></tr> <tr class="separator:a55c6c04c7389ab91689789a041aa4bbf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adfa3632ccd39b727567e9f1c843210a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adfa3632ccd39b727567e9f1c843210a4"></a> static const mask </td><td class="memItemRight" valign="bottom"><b>graph</b></td></tr> <tr class="separator:adfa3632ccd39b727567e9f1c843210a4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a608769609a66c382dc1013e025413bf9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a608769609a66c382dc1013e025413bf9"></a> static const mask </td><td class="memItemRight" valign="bottom"><b>lower</b></td></tr> <tr class="separator:a608769609a66c382dc1013e025413bf9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a97a370592d1edb537f570ce544384fbf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97a370592d1edb537f570ce544384fbf"></a> static const mask </td><td class="memItemRight" valign="bottom"><b>print</b></td></tr> <tr class="separator:a97a370592d1edb537f570ce544384fbf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a40290f8665839843e3adf805ef4dac63"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a40290f8665839843e3adf805ef4dac63"></a> static const mask </td><td class="memItemRight" valign="bottom"><b>punct</b></td></tr> <tr class="separator:a40290f8665839843e3adf805ef4dac63"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6cc2b9b6be486b744fbbb701cf20f030"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6cc2b9b6be486b744fbbb701cf20f030"></a> static const mask </td><td class="memItemRight" valign="bottom"><b>space</b></td></tr> <tr class="separator:a6cc2b9b6be486b744fbbb701cf20f030"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab9b5673283d3f0bf05c78dd61d2996eb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9b5673283d3f0bf05c78dd61d2996eb"></a> static const mask </td><td class="memItemRight" valign="bottom"><b>upper</b></td></tr> <tr class="separator:ab9b5673283d3f0bf05c78dd61d2996eb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4adf373a7b38c7e7eafc1e2e8b193abc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4adf373a7b38c7e7eafc1e2e8b193abc"></a> static const mask </td><td class="memItemRight" valign="bottom"><b>xdigit</b></td></tr> <tr class="separator:a4adf373a7b38c7e7eafc1e2e8b193abc"><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:a160299c5e19849f3ad029e1b3f952121"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a160299c5e19849f3ad029e1b3f952121"></a>  </td><td class="memItemRight" valign="bottom"><b>__ctype_abstract_base</b> (size_t __refs=0)</td></tr> <tr class="separator:a160299c5e19849f3ad029e1b3f952121"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a13f6a9df12541e794f95b69dd7c12d8d"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a13f6a9df12541e794f95b69dd7c12d8d">do_is</a> (mask __m, <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> __c) const =0</td></tr> <tr class="separator:a13f6a9df12541e794f95b69dd7c12d8d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a11e40e753bfcc987db52294dc0c99878"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a11e40e753bfcc987db52294dc0c99878">do_is</a> (const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi, mask *__vec) const =0</td></tr> <tr class="separator:a11e40e753bfcc987db52294dc0c99878"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab2c37d0e04ecf5a71d618ca97478c893"><td class="memItemLeft" align="right" valign="top">virtual char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#ab2c37d0e04ecf5a71d618ca97478c893">do_narrow</a> (<a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> __c, char __dfault) const =0</td></tr> <tr class="separator:ab2c37d0e04ecf5a71d618ca97478c893"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5bd09acf78baf8b8ae9cff1938cf6668"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a5bd09acf78baf8b8ae9cff1938cf6668">do_narrow</a> (const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi, char __dfault, char *__to) const =0</td></tr> <tr class="separator:a5bd09acf78baf8b8ae9cff1938cf6668"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6d63444db4c605c256c36343394bb883"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a6d63444db4c605c256c36343394bb883">do_scan_is</a> (mask __m, const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi) const =0</td></tr> <tr class="separator:a6d63444db4c605c256c36343394bb883"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a40c1314bb60f9b9795ec8e628ffbcc34"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a40c1314bb60f9b9795ec8e628ffbcc34">do_scan_not</a> (mask __m, const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi) const =0</td></tr> <tr class="separator:a40c1314bb60f9b9795ec8e628ffbcc34"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a322123706f52d8c72b9c8bee3f612676"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a322123706f52d8c72b9c8bee3f612676">do_tolower</a> (<a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> __c) const =0</td></tr> <tr class="separator:a322123706f52d8c72b9c8bee3f612676"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afe5fc2040092e4f8fb6e88d253f4d3c3"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#afe5fc2040092e4f8fb6e88d253f4d3c3">do_tolower</a> (<a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi) const =0</td></tr> <tr class="separator:afe5fc2040092e4f8fb6e88d253f4d3c3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af90fbcc9340edf7ca0002520cccb0b8f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#af90fbcc9340edf7ca0002520cccb0b8f">do_toupper</a> (<a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> __c) const =0</td></tr> <tr class="separator:af90fbcc9340edf7ca0002520cccb0b8f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a51eeaf4fefdd3a85b0706028cec0c5e7"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a51eeaf4fefdd3a85b0706028cec0c5e7">do_toupper</a> (<a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi) const =0</td></tr> <tr class="separator:a51eeaf4fefdd3a85b0706028cec0c5e7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0f4951419f48a08bd975cb49a81995a5"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a0f4951419f48a08bd975cb49a81995a5">do_widen</a> (char __c) const =0</td></tr> <tr class="separator:a0f4951419f48a08bd975cb49a81995a5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a289ae9e9ce16c7c26a8356b4610c7dee"><td class="memItemLeft" align="right" valign="top">virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a289ae9e9ce16c7c26a8356b4610c7dee">do_widen</a> (const char *__lo, const char *__hi, <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__to) const =0</td></tr> <tr class="separator:a289ae9e9ce16c7c26a8356b4610c7dee"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a> Static Protected Member Functions</h2></td></tr> <tr class="memitem:aaaa39cc3ae39c5283101ce8c9c630902"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaaa39cc3ae39c5283101ce8c9c630902"></a> static __c_locale </td><td class="memItemRight" valign="bottom"><b>_S_clone_c_locale</b> (__c_locale &__cloc) throw ()</td></tr> <tr class="separator:aaaa39cc3ae39c5283101ce8c9c630902"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a60fbe742b113ff90f63e01c0ac658826"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60fbe742b113ff90f63e01c0ac658826"></a> static void </td><td class="memItemRight" valign="bottom"><b>_S_create_c_locale</b> (__c_locale &__cloc, const char *__s, __c_locale __old=0)</td></tr> <tr class="separator:a60fbe742b113ff90f63e01c0ac658826"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0a8c1c763d0d99421ab859f9c11668af"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a8c1c763d0d99421ab859f9c11668af"></a> static void </td><td class="memItemRight" valign="bottom"><b>_S_destroy_c_locale</b> (__c_locale &__cloc)</td></tr> <tr class="separator:a0a8c1c763d0d99421ab859f9c11668af"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2e71ffc16033618e86c8c9d14ae4b022"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e71ffc16033618e86c8c9d14ae4b022"></a> static __c_locale </td><td class="memItemRight" valign="bottom"><b>_S_get_c_locale</b> ()</td></tr> <tr class="separator:a2e71ffc16033618e86c8c9d14ae4b022"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acda690006956a82c0cc436f5509c4f26"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acda690006956a82c0cc436f5509c4f26"></a> static const char * </td><td class="memItemRight" valign="bottom"><b>_S_get_c_name</b> () throw ()</td></tr> <tr class="separator:acda690006956a82c0cc436f5509c4f26"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a426725452f3ac010eb3c090e83a6e574"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a426725452f3ac010eb3c090e83a6e574"></a> static __c_locale </td><td class="memItemRight" valign="bottom"><b>_S_lc_ctype_c_locale</b> (__c_locale __cloc, const char *__s)</td></tr> <tr class="separator:a426725452f3ac010eb3c090e83a6e574"><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::__ctype_abstract_base< _CharT ></h3> <p>Common base for ctype facet. </p> <p>This template class provides implementations of the public functions that forward to the protected virtual functions.</p> <p>This template also provides abstract stubs for the protected virtual functions. </p> <p>Definition at line <a class="el" href="a01345_source.html#l00143">143</a> of file <a class="el" href="a01345_source.html">locale_facets.h</a>.</p> </div><h2 class="groupheader">Member Typedef Documentation</h2> <a class="anchor" id="a6b04fb1c6b10871f93cd4f60d0f78f8d"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="memname"> <tr> <td class="memname">typedef _CharT <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::<a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a></td> </tr> </table> </div><div class="memdoc"> <p>Typedef for the template parameter. </p> <p>Definition at line <a class="el" href="a01345_source.html#l00148">148</a> of file <a class="el" href="a01345_source.html">locale_facets.h</a>.</p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="a13f6a9df12541e794f95b69dd7c12d8d"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual bool <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::do_is </td> <td>(</td> <td class="paramtype">mask </td> <td class="paramname"><em>__m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> </td> <td class="paramname"><em>__c</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Test char_type classification. </p> <p>This function finds a mask M for <em>c</em> and compares it to mask <em>m</em>.</p> <p>do_is() is a hook for a derived facet to change the behavior of classifying. do_is() must always return the same result for the same input.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__c</td><td>The char_type to find the mask of. </td></tr> <tr><td class="paramname">__m</td><td>The mask to compare against. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>(M & __m) != 0. </dd></dl> <p>Implemented in <a class="el" href="a00696.html#ab3899e012e768879675d451747b4501c">std::ctype< wchar_t ></a>, and <a class="el" href="a00694.html#a16a38ca6d15ad3573cc4ddf97dd0a4f4">std::ctype< _CharT ></a>.</p> <p>Referenced by <a class="el" href="a01345_source.html#l00162">std::__ctype_abstract_base< wchar_t >::is()</a>.</p> </div> </div> <a class="anchor" id="a11e40e753bfcc987db52294dc0c99878"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::do_is </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__lo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__hi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">mask * </td> <td class="paramname"><em>__vec</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Return a mask array. </p> <p>This function finds the mask for each char_type in the range [lo,hi) and successively writes it to vec. vec must have as many elements as the input.</p> <p>do_is() is a hook for a derived facet to change the behavior of classifying. do_is() must always return the same result for the same input.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__lo</td><td>Pointer to start of range. </td></tr> <tr><td class="paramname">__hi</td><td>Pointer to end of range. </td></tr> <tr><td class="paramname">__vec</td><td>Pointer to an array of mask storage. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><em>__hi</em>. </dd></dl> <p>Implemented in <a class="el" href="a00696.html#a6f36bf81e3190b6dc238f4249a73edf7">std::ctype< wchar_t ></a>, and <a class="el" href="a00694.html#ad07141fa94df4fa0794f13bbc9b8aefa">std::ctype< _CharT ></a>.</p> </div> </div> <a class="anchor" id="ab2c37d0e04ecf5a71d618ca97478c893"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual char <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::do_narrow </td> <td>(</td> <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> </td> <td class="paramname"><em>__c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char </td> <td class="paramname"><em>__dfault</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Narrow char_type to char. </p> <p>This virtual function converts the argument to char using the simplest reasonable transformation. If the conversion fails, dfault is returned instead.</p> <p>do_narrow() is a hook for a derived facet to change the behavior of narrowing. do_narrow() must always return the same result for the same input.</p> <p>Note: this is not what you want for codepage conversions. See codecvt for that.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__c</td><td>The char_type to convert. </td></tr> <tr><td class="paramname">__dfault</td><td>Char to return if conversion fails. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The converted char. </dd></dl> <p>Implemented in <a class="el" href="a00696.html#acb7d485027d0bce9d70db46e823b28dd">std::ctype< wchar_t ></a>, and <a class="el" href="a00694.html#a64654aed895c0dd2cdf8d24b6722cfd4">std::ctype< _CharT ></a>.</p> <p>Referenced by <a class="el" href="a01345_source.html#l00324">std::__ctype_abstract_base< wchar_t >::narrow()</a>.</p> </div> </div> <a class="anchor" id="a5bd09acf78baf8b8ae9cff1938cf6668"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::do_narrow </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__lo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__hi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char </td> <td class="paramname"><em>__dfault</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>__to</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Narrow char_type array to char. </p> <p>This virtual function converts each char_type in the range [__lo,__hi) to char using the simplest reasonable transformation and writes the results to the destination array. For any element in the input that cannot be converted, <em>__dfault</em> is used instead.</p> <p>do_narrow() is a hook for a derived facet to change the behavior of narrowing. do_narrow() must always return the same result for the same input.</p> <p>Note: this is not what you want for codepage conversions. See codecvt for that.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__lo</td><td>Pointer to start of range. </td></tr> <tr><td class="paramname">__hi</td><td>Pointer to end of range. </td></tr> <tr><td class="paramname">__dfault</td><td>Char to use if conversion fails. </td></tr> <tr><td class="paramname">__to</td><td>Pointer to the destination array. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><em>__hi</em>. </dd></dl> <p>Implemented in <a class="el" href="a00696.html#a2bd5d0ea4831317d90470a529ed309f9">std::ctype< wchar_t ></a>, and <a class="el" href="a00694.html#a59a709f4569ae24a3d8683e35488160f">std::ctype< _CharT ></a>.</p> </div> </div> <a class="anchor" id="a6d63444db4c605c256c36343394bb883"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::do_scan_is </td> <td>(</td> <td class="paramtype">mask </td> <td class="paramname"><em>__m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__lo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__hi</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Find char_type matching mask. </p> <p>This function searches for and returns the first char_type c in [__lo,__hi) for which is(__m,c) is true.</p> <p>do_scan_is() is a hook for a derived facet to change the behavior of match searching. do_is() must always return the same result for the same input.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__m</td><td>The mask to compare against. </td></tr> <tr><td class="paramname">__lo</td><td>Pointer to start of range. </td></tr> <tr><td class="paramname">__hi</td><td>Pointer to end of range. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Pointer to a matching char_type if found, else <em>__hi</em>. </dd></dl> <p>Implemented in <a class="el" href="a00696.html#ab0c4b446bfd9bfc4a98081b9f971e494">std::ctype< wchar_t ></a>, and <a class="el" href="a00694.html#a70e081acdfec743aee56a858fbe5e149">std::ctype< _CharT ></a>.</p> <p>Referenced by <a class="el" href="a01345_source.html#l00195">std::__ctype_abstract_base< wchar_t >::scan_is()</a>.</p> </div> </div> <a class="anchor" id="a40c1314bb60f9b9795ec8e628ffbcc34"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::do_scan_not </td> <td>(</td> <td class="paramtype">mask </td> <td class="paramname"><em>__m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__lo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__hi</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Find char_type not matching mask. </p> <p>This function searches for and returns a pointer to the first char_type c of [lo,hi) for which is(m,c) is false.</p> <p>do_scan_is() is a hook for a derived facet to change the behavior of match searching. do_is() must always return the same result for the same input.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__m</td><td>The mask to compare against. </td></tr> <tr><td class="paramname">__lo</td><td>Pointer to start of range. </td></tr> <tr><td class="paramname">__hi</td><td>Pointer to end of range. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Pointer to a non-matching char_type if found, else <em>__hi</em>. </dd></dl> <p>Implemented in <a class="el" href="a00696.html#aa95caf7b63151c3f6c58f2e87d68ad4c">std::ctype< wchar_t ></a>, and <a class="el" href="a00694.html#a32ee9219fa2c0b6f2d51a7f8c7401a72">std::ctype< _CharT ></a>.</p> <p>Referenced by <a class="el" href="a01345_source.html#l00211">std::__ctype_abstract_base< wchar_t >::scan_not()</a>.</p> </div> </div> <a class="anchor" id="a322123706f52d8c72b9c8bee3f612676"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::do_tolower </td> <td>(</td> <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> </td> <td class="paramname"><em>__c</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Convert to lowercase. </p> <p>This virtual function converts the argument to lowercase if possible. If not possible (for example, '2'), returns the argument.</p> <p>do_tolower() is a hook for a derived facet to change the behavior of lowercasing. do_tolower() must always return the same result for the same input.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__c</td><td>The char_type to convert. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The lowercase char_type if convertible, else <em>__c</em>. </dd></dl> <p>Implemented in <a class="el" href="a00696.html#a06569f5f976587b3df4a5822c19bc6fe">std::ctype< wchar_t ></a>, and <a class="el" href="a00694.html#a156634c11eccbdfee4b6916a7bd16ed3">std::ctype< _CharT ></a>.</p> <p>Referenced by <a class="el" href="a01345_source.html#l00254">std::__ctype_abstract_base< wchar_t >::tolower()</a>.</p> </div> </div> <a class="anchor" id="afe5fc2040092e4f8fb6e88d253f4d3c3"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::do_tolower </td> <td>(</td> <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__lo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__hi</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Convert array to lowercase. </p> <p>This virtual function converts each char_type in the range [__lo,__hi) to lowercase if possible. Other elements remain untouched.</p> <p>do_tolower() is a hook for a derived facet to change the behavior of lowercasing. do_tolower() must always return the same result for the same input.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__lo</td><td>Pointer to start of range. </td></tr> <tr><td class="paramname">__hi</td><td>Pointer to end of range. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><em>__hi</em>. </dd></dl> <p>Implemented in <a class="el" href="a00696.html#afa263ad860c6f2d7424d383dc04fd057">std::ctype< wchar_t ></a>, and <a class="el" href="a00694.html#a6ffb70e9d48c6dd5c40600331ef805af">std::ctype< _CharT ></a>.</p> </div> </div> <a class="anchor" id="af90fbcc9340edf7ca0002520cccb0b8f"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::do_toupper </td> <td>(</td> <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> </td> <td class="paramname"><em>__c</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Convert to uppercase. </p> <p>This virtual function converts the char_type argument to uppercase if possible. If not possible (for example, '2'), returns the argument.</p> <p>do_toupper() is a hook for a derived facet to change the behavior of uppercasing. do_toupper() must always return the same result for the same input.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__c</td><td>The char_type to convert. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The uppercase char_type if convertible, else <em>__c</em>. </dd></dl> <p>Implemented in <a class="el" href="a00696.html#a7f03be9a1fb6f23b4bd2da30b3f0b289">std::ctype< wchar_t ></a>, and <a class="el" href="a00694.html#a9418f8cfe93ac1ed8f8a4e49b72f59aa">std::ctype< _CharT ></a>.</p> <p>Referenced by <a class="el" href="a01345_source.html#l00225">std::__ctype_abstract_base< wchar_t >::toupper()</a>.</p> </div> </div> <a class="anchor" id="a51eeaf4fefdd3a85b0706028cec0c5e7"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::do_toupper </td> <td>(</td> <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__lo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__hi</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Convert array to uppercase. </p> <p>This virtual function converts each char_type in the range [__lo,__hi) to uppercase if possible. Other elements remain untouched.</p> <p>do_toupper() is a hook for a derived facet to change the behavior of uppercasing. do_toupper() must always return the same result for the same input.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__lo</td><td>Pointer to start of range. </td></tr> <tr><td class="paramname">__hi</td><td>Pointer to end of range. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><em>__hi</em>. </dd></dl> <p>Implemented in <a class="el" href="a00696.html#a6b5bfb62504f023afcd9ee228d34859b">std::ctype< wchar_t ></a>, and <a class="el" href="a00694.html#ae20256fa3d632f30b76c93c6516ae730">std::ctype< _CharT ></a>.</p> </div> </div> <a class="anchor" id="a0f4951419f48a08bd975cb49a81995a5"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::do_widen </td> <td>(</td> <td class="paramtype">char </td> <td class="paramname"><em>__c</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Widen char. </p> <p>This virtual function converts the char to char_type using the simplest reasonable transformation.</p> <p>do_widen() is a hook for a derived facet to change the behavior of widening. do_widen() must always return the same result for the same input.</p> <p>Note: this is not what you want for codepage conversions. See codecvt for that.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__c</td><td>The char to convert. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The converted char_type </dd></dl> <p>Implemented in <a class="el" href="a00696.html#af55d563ab44086c300c09b337ddcc77b">std::ctype< wchar_t ></a>, and <a class="el" href="a00694.html#ad3e6044ee0d48d298fb6acc7b5a6202a">std::ctype< _CharT ></a>.</p> <p>Referenced by <a class="el" href="a01345_source.html#l00286">std::__ctype_abstract_base< wchar_t >::widen()</a>.</p> </div> </div> <a class="anchor" id="a289ae9e9ce16c7c26a8356b4610c7dee"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual const char* <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::do_widen </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>__lo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>__hi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__to</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Widen char array. </p> <p>This function converts each char in the input to char_type using the simplest reasonable transformation.</p> <p>do_widen() is a hook for a derived facet to change the behavior of widening. do_widen() must always return the same result for the same input.</p> <p>Note: this is not what you want for codepage conversions. See codecvt for that.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__lo</td><td>Pointer to start range. </td></tr> <tr><td class="paramname">__hi</td><td>Pointer to end of range. </td></tr> <tr><td class="paramname">__to</td><td>Pointer to the destination array. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><em>__hi</em>. </dd></dl> <p>Implemented in <a class="el" href="a00696.html#a5d2a8038bc4452f25d1a07afa03cbe92">std::ctype< wchar_t ></a>, and <a class="el" href="a00694.html#a5c33be2eb11c86c174d18c77a7f9d210">std::ctype< _CharT ></a>.</p> </div> </div> <a class="anchor" id="a9ad5e9bf4b65639e19c79dc795c94e99"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::is </td> <td>(</td> <td class="paramtype">mask </td> <td class="paramname"><em>__m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> </td> <td class="paramname"><em>__c</em> </td> </tr> <tr> <td></td> <td>)</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>Test char_type classification. </p> <p>This function finds a mask M for <em>__c</em> and compares it to mask <em>__m</em>. It does so by returning the value of ctype<char_type>::do_is().</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__c</td><td>The char_type to compare the mask of. </td></tr> <tr><td class="paramname">__m</td><td>The mask to compare against. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>(M & __m) != 0. </dd></dl> <p>Definition at line <a class="el" href="a01345_source.html#l00162">162</a> of file <a class="el" href="a01345_source.html">locale_facets.h</a>.</p> <p>Referenced by <a class="el" href="a01319_source.html#l00047">std::basic_istream< _CharT, _Traits >::sentry::sentry()</a>.</p> </div> </div> <a class="anchor" id="ae3a3d67266bd9721181b26618f5da40d"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::is </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__lo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__hi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">mask * </td> <td class="paramname"><em>__vec</em> </td> </tr> <tr> <td></td> <td>)</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>Return a mask array. </p> <p>This function finds the mask for each char_type in the range [lo,hi) and successively writes it to vec. vec must have as many elements as the char array. It does so by returning the value of ctype<char_type>::do_is().</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__lo</td><td>Pointer to start of range. </td></tr> <tr><td class="paramname">__hi</td><td>Pointer to end of range. </td></tr> <tr><td class="paramname">__vec</td><td>Pointer to an array of mask storage. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><em>__hi</em>. </dd></dl> <p>Definition at line <a class="el" href="a01345_source.html#l00179">179</a> of file <a class="el" href="a01345_source.html">locale_facets.h</a>.</p> </div> </div> <a class="anchor" id="a3c11647c0de25dd088dbb44633828531"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">char <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::narrow </td> <td>(</td> <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> </td> <td class="paramname"><em>__c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char </td> <td class="paramname"><em>__dfault</em> </td> </tr> <tr> <td></td> <td>)</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>Narrow char_type to char. </p> <p>This function converts the char_type to char using the simplest reasonable transformation. If the conversion fails, dfault is returned instead. It does so by returning ctype<char_type>::do_narrow(__c).</p> <p>Note: this is not what you want for codepage conversions. See codecvt for that.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__c</td><td>The char_type to convert. </td></tr> <tr><td class="paramname">__dfault</td><td>Char to return if conversion fails. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The converted char. </dd></dl> <p>Definition at line <a class="el" href="a01345_source.html#l00324">324</a> of file <a class="el" href="a01345_source.html">locale_facets.h</a>.</p> <p>Referenced by <a class="el" href="a01348_source.html#l01143">std::time_put< _CharT, _OutIter >::put()</a>.</p> </div> </div> <a class="anchor" id="a72b8c254c9d7b7f376fb8fed23712fd7"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::narrow </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__lo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__hi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char </td> <td class="paramname"><em>__dfault</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>__to</em> </td> </tr> <tr> <td></td> <td>)</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>Narrow array to char array. </p> <p>This function converts each char_type in the input to char using the simplest reasonable transformation and writes the results to the destination array. For any char_type in the input that cannot be converted, <em>dfault</em> is used instead. It does so by returning ctype<char_type>::do_narrow(__lo, __hi, __dfault, __to).</p> <p>Note: this is not what you want for codepage conversions. See codecvt for that.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__lo</td><td>Pointer to start of range. </td></tr> <tr><td class="paramname">__hi</td><td>Pointer to end of range. </td></tr> <tr><td class="paramname">__dfault</td><td>Char to use if conversion fails. </td></tr> <tr><td class="paramname">__to</td><td>Pointer to the destination array. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><em>__hi</em>. </dd></dl> <p>Definition at line <a class="el" href="a01345_source.html#l00346">346</a> of file <a class="el" href="a01345_source.html">locale_facets.h</a>.</p> </div> </div> <a class="anchor" id="a7162d0bf819bcca1980f4f07d7dac7a0"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::scan_is </td> <td>(</td> <td class="paramtype">mask </td> <td class="paramname"><em>__m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__lo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__hi</em> </td> </tr> <tr> <td></td> <td>)</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>Find char_type matching a mask. </p> <p>This function searches for and returns the first char_type c in [lo,hi) for which is(m,c) is true. It does so by returning ctype<char_type>::do_scan_is().</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__m</td><td>The mask to compare against. </td></tr> <tr><td class="paramname">__lo</td><td>Pointer to start of range. </td></tr> <tr><td class="paramname">__hi</td><td>Pointer to end of range. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Pointer to matching char_type if found, else <em>__hi</em>. </dd></dl> <p>Definition at line <a class="el" href="a01345_source.html#l00195">195</a> of file <a class="el" href="a01345_source.html">locale_facets.h</a>.</p> </div> </div> <a class="anchor" id="a1174fbcc54eb1ddd0768fe367320e447"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::scan_not </td> <td>(</td> <td class="paramtype">mask </td> <td class="paramname"><em>__m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__lo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__hi</em> </td> </tr> <tr> <td></td> <td>)</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>Find char_type not matching a mask. </p> <p>This function searches for and returns the first char_type c in [lo,hi) for which is(m,c) is false. It does so by returning ctype<char_type>::do_scan_not().</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__m</td><td>The mask to compare against. </td></tr> <tr><td class="paramname">__lo</td><td>Pointer to first char in range. </td></tr> <tr><td class="paramname">__hi</td><td>Pointer to end of range. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Pointer to non-matching char if found, else <em>__hi</em>. </dd></dl> <p>Definition at line <a class="el" href="a01345_source.html#l00211">211</a> of file <a class="el" href="a01345_source.html">locale_facets.h</a>.</p> </div> </div> <a class="anchor" id="ad4b200f6cb2021329adf8b915e0ccf5a"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::tolower </td> <td>(</td> <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> </td> <td class="paramname"><em>__c</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>Convert to lowercase. </p> <p>This function converts the argument to lowercase if possible. If not possible (for example, '2'), returns the argument. It does so by returning ctype<char_type>::do_tolower(c).</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__c</td><td>The char_type to convert. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The lowercase char_type if convertible, else <em>__c</em>. </dd></dl> <p>Definition at line <a class="el" href="a01345_source.html#l00254">254</a> of file <a class="el" href="a01345_source.html">locale_facets.h</a>.</p> </div> </div> <a class="anchor" id="a47cb1072292d84849ded75c5f2351f50"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::tolower </td> <td>(</td> <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__lo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__hi</em> </td> </tr> <tr> <td></td> <td>)</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>Convert array to lowercase. </p> <p>This function converts each char_type in the range [__lo,__hi) to lowercase if possible. Other elements remain untouched. It does so by returning ctype<char_type>:: do_tolower(__lo, __hi).</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__lo</td><td>Pointer to start of range. </td></tr> <tr><td class="paramname">__hi</td><td>Pointer to end of range. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><em>__hi</em>. </dd></dl> <p>Definition at line <a class="el" href="a01345_source.html#l00269">269</a> of file <a class="el" href="a01345_source.html">locale_facets.h</a>.</p> </div> </div> <a class="anchor" id="a852a9e9c9f7938220ae5f8cc36e3d017"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::toupper </td> <td>(</td> <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> </td> <td class="paramname"><em>__c</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>Convert to uppercase. </p> <p>This function converts the argument to uppercase if possible. If not possible (for example, '2'), returns the argument. It does so by returning ctype<char_type>::do_toupper().</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__c</td><td>The char_type to convert. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The uppercase char_type if convertible, else <em>__c</em>. </dd></dl> <p>Definition at line <a class="el" href="a01345_source.html#l00225">225</a> of file <a class="el" href="a01345_source.html">locale_facets.h</a>.</p> </div> </div> <a class="anchor" id="a54ab446370ba2d0f634863fce23c8f51"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::toupper </td> <td>(</td> <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__lo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__hi</em> </td> </tr> <tr> <td></td> <td>)</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>Convert array to uppercase. </p> <p>This function converts each char_type in the range [lo,hi) to uppercase if possible. Other elements remain untouched. It does so by returning ctype<char_type>:: do_toupper(lo, hi).</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__lo</td><td>Pointer to start of range. </td></tr> <tr><td class="paramname">__hi</td><td>Pointer to end of range. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><em>__hi</em>. </dd></dl> <p>Definition at line <a class="el" href="a01345_source.html#l00240">240</a> of file <a class="el" href="a01345_source.html">locale_facets.h</a>.</p> </div> </div> <a class="anchor" id="ab406c705eec370b9bd6a8e289195ec9a"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::widen </td> <td>(</td> <td class="paramtype">char </td> <td class="paramname"><em>__c</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>Widen char to char_type. </p> <p>This function converts the char argument to char_type using the simplest reasonable transformation. It does so by returning ctype<char_type>::do_widen(c).</p> <p>Note: this is not what you want for codepage conversions. See codecvt for that.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__c</td><td>The char to convert. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The converted char_type. </dd></dl> <p>Definition at line <a class="el" href="a01345_source.html#l00286">286</a> of file <a class="el" href="a01345_source.html">locale_facets.h</a>.</p> <p>Referenced by <a class="el" href="a01348_source.html#l00378">std::money_get< _CharT, _InIter >::do_get()</a>, <a class="el" href="a01348_source.html#l01178">std::time_put< _CharT, _OutIter >::do_put()</a>, <a class="el" href="a01348_source.html#l00570">std::money_put< _CharT, _OutIter >::do_put()</a>, <a class="el" href="a01194_source.html#l01455">std::tr2::operator<<()</a>, and <a class="el" href="a01061_source.html#l01521">std::operator<<()</a>.</p> </div> </div> <a class="anchor" id="ac10fbcd9784de2639e9ba518bf8d4140"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const char* <a class="el" href="a00004.html">std::__ctype_abstract_base</a>< _CharT >::widen </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>__lo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>__hi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * </td> <td class="paramname"><em>__to</em> </td> </tr> <tr> <td></td> <td>)</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>Widen array to char_type. </p> <p>This function converts each char in the input to char_type using the simplest reasonable transformation. It does so by returning ctype<char_type>::do_widen(c).</p> <p>Note: this is not what you want for codepage conversions. See codecvt for that.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__lo</td><td>Pointer to start of range. </td></tr> <tr><td class="paramname">__hi</td><td>Pointer to end of range. </td></tr> <tr><td class="paramname">__to</td><td>Pointer to the destination array. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><em>__hi</em>. </dd></dl> <p>Definition at line <a class="el" href="a01345_source.html#l00305">305</a> of file <a class="el" href="a01345_source.html">locale_facets.h</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="a01345_source.html">locale_facets.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="a01662.html">std</a></li><li class="navelem"><a class="el" href="a00004.html">__ctype_abstract_base</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.5 </li> </ul> </div> </body> </html>