Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > c74ab286c3d46f9b82671d206e43a74b > files > 452

libstdc++-docs-4.6.3-2.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libstdc++: std::ctype_byname&lt; _CharT &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">libstdc++</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('a00446.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">std::ctype_byname&lt; _CharT &gt; Class Template Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="std::ctype_byname" --><!-- doxytag: inherits="std::ctype" -->
<p>class <a class="el" href="a00446.html" title="class ctype_byname [22.2.1.2].">ctype_byname</a> [22.2.1.2].  
 <a href="a00446.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for std::ctype_byname&lt; _CharT &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="a01981.png" border="0" usemap="#std_1_1ctype__byname_3_01___char_t_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="std_1_1ctype__byname_3_01___char_t_01_4_inherit__map" id="std_1_1ctype__byname_3_01___char_t_01_4_inherit__map">
<area shape="rect" id="node2" href="a00442.html" title="Primary class template ctype facet.This template class defines classification and conversion function..." alt="" coords="59,160,192,189"/><area shape="rect" id="node4" href="a00003.html" title="Common base for ctype facet." alt="" coords="9,83,241,112"/><area shape="rect" id="node6" href="a00582.html" title="Localization functionality base class.The facet class is the base class for a localization feature..." alt="" coords="5,5,115,35"/><area shape="rect" id="node8" href="a00445.html" title="Base class for ctype." alt="" coords="139,5,245,35"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="a01982.html">List of all members.</a></p>
<h2><a name="pub-types"></a>
Public Types</h2>
<ul>
<li><a class="anchor" id="a5f48720a9ce7a65c85c3eadb6be509f9"></a><!-- doxytag: member="std::ctype_byname::__to_type" ref="a5f48720a9ce7a65c85c3eadb6be509f9" args="" -->
typedef const int * <b>__to_type</b>
<li>typedef _CharT <a class="el" href="a00442.html#a51606717fb0b11d0ed1248bc1630507a">char_type</a>
<li><a class="anchor" id="a42ffd11064852442cd7e7abee64a23ea"></a><!-- doxytag: member="std::ctype_byname::mask" ref="a42ffd11064852442cd7e7abee64a23ea" args="" -->
typedef <a class="el" href="a00442.html">ctype</a>&lt; _CharT &gt;::mask <b>mask</b>
</ul>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="anchor" id="afd4d163fdf552118a1ce17ada1f5c0e9"></a><!-- doxytag: member="std::ctype_byname::ctype_byname" ref="afd4d163fdf552118a1ce17ada1f5c0e9" args="(const char *__s, size_t __refs=0)" -->
<b>ctype_byname</b> (const char *__s, size_t __refs=0)
<li>bool <a class="el" href="a00003.html#a9ad5e9bf4b65639e19c79dc795c94e99">is</a> (mask __m, <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> __c) const 
<li>const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * <a class="el" href="a00003.html#ae3a3d67266bd9721181b26618f5da40d">is</a> (const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi, mask *__vec) const 
<li>const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * <a class="el" href="a00003.html#a72b8c254c9d7b7f376fb8fed23712fd7">narrow</a> (const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi, char __dfault, char *__to) const 
<li>char <a class="el" href="a00003.html#a3c11647c0de25dd088dbb44633828531">narrow</a> (<a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> __c, char __dfault) const 
<li>const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * <a class="el" href="a00003.html#a7162d0bf819bcca1980f4f07d7dac7a0">scan_is</a> (mask __m, const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi) const 
<li>const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * <a class="el" href="a00003.html#a1174fbcc54eb1ddd0768fe367320e447">scan_not</a> (mask __m, const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi) const 
<li><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00003.html#ad4b200f6cb2021329adf8b915e0ccf5a">tolower</a> (<a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> __c) const 
<li>const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * <a class="el" href="a00003.html#a47cb1072292d84849ded75c5f2351f50">tolower</a> (<a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi) const 
<li>const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * <a class="el" href="a00003.html#a54ab446370ba2d0f634863fce23c8f51">toupper</a> (<a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi) const 
<li><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00003.html#a852a9e9c9f7938220ae5f8cc36e3d017">toupper</a> (<a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> __c) const 
<li>const char * <a class="el" href="a00003.html#ac10fbcd9784de2639e9ba518bf8d4140">widen</a> (const char *__lo, const char *__hi, <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__to) const 
<li><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00003.html#ab406c705eec370b9bd6a8e289195ec9a">widen</a> (char __c) const 
</ul>
<h2><a name="pub-static-attribs"></a>
Static Public Attributes</h2>
<ul>
<li><a class="anchor" id="a647042ef0953afac8db2505a083d554d"></a><!-- doxytag: member="std::ctype_byname::alnum" ref="a647042ef0953afac8db2505a083d554d" args="" -->
static const mask <b>alnum</b>
<li><a class="anchor" id="a3ae00fba70505be303107f4429fd00c5"></a><!-- doxytag: member="std::ctype_byname::alpha" ref="a3ae00fba70505be303107f4429fd00c5" args="" -->
static const mask <b>alpha</b>
<li><a class="anchor" id="afabc36a91999cdcd9a42ac110581bf9a"></a><!-- doxytag: member="std::ctype_byname::cntrl" ref="afabc36a91999cdcd9a42ac110581bf9a" args="" -->
static const mask <b>cntrl</b>
<li><a class="anchor" id="a55c6c04c7389ab91689789a041aa4bbf"></a><!-- doxytag: member="std::ctype_byname::digit" ref="a55c6c04c7389ab91689789a041aa4bbf" args="" -->
static const mask <b>digit</b>
<li><a class="anchor" id="adfa3632ccd39b727567e9f1c843210a4"></a><!-- doxytag: member="std::ctype_byname::graph" ref="adfa3632ccd39b727567e9f1c843210a4" args="" -->
static const mask <b>graph</b>
<li>static <a class="el" href="a00583.html">locale::id</a> <a class="el" href="a00442.html#ad9d09c3f3e6b0adc794173ea09adda8b">id</a>
<li><a class="anchor" id="a608769609a66c382dc1013e025413bf9"></a><!-- doxytag: member="std::ctype_byname::lower" ref="a608769609a66c382dc1013e025413bf9" args="" -->
static const mask <b>lower</b>
<li><a class="anchor" id="a97a370592d1edb537f570ce544384fbf"></a><!-- doxytag: member="std::ctype_byname::print" ref="a97a370592d1edb537f570ce544384fbf" args="" -->
static const mask <b>print</b>
<li><a class="anchor" id="a40290f8665839843e3adf805ef4dac63"></a><!-- doxytag: member="std::ctype_byname::punct" ref="a40290f8665839843e3adf805ef4dac63" args="" -->
static const mask <b>punct</b>
<li><a class="anchor" id="a6cc2b9b6be486b744fbbb701cf20f030"></a><!-- doxytag: member="std::ctype_byname::space" ref="a6cc2b9b6be486b744fbbb701cf20f030" args="" -->
static const mask <b>space</b>
<li><a class="anchor" id="ab9b5673283d3f0bf05c78dd61d2996eb"></a><!-- doxytag: member="std::ctype_byname::upper" ref="ab9b5673283d3f0bf05c78dd61d2996eb" args="" -->
static const mask <b>upper</b>
<li><a class="anchor" id="a4adf373a7b38c7e7eafc1e2e8b193abc"></a><!-- doxytag: member="std::ctype_byname::xdigit" ref="a4adf373a7b38c7e7eafc1e2e8b193abc" args="" -->
static const mask <b>xdigit</b>
</ul>
<h2><a name="pro-methods"></a>
Protected Member Functions</h2>
<ul>
<li>virtual bool <a class="el" href="a00442.html#a16a38ca6d15ad3573cc4ddf97dd0a4f4">do_is</a> (mask __m, <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> __c) const 
<li>virtual const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * <a class="el" href="a00442.html#ad07141fa94df4fa0794f13bbc9b8aefa">do_is</a> (const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi, mask *__vec) const 
<li>virtual const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * <a class="el" href="a00442.html#a7bd4fa0866e8e699211c92ab255a7450">do_narrow</a> (const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi, char __dfault, char *__dest) const 
<li>virtual char <a class="el" href="a00442.html#a64654aed895c0dd2cdf8d24b6722cfd4">do_narrow</a> (<a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>, char __dfault) const 
<li>virtual const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * <a class="el" href="a00442.html#a70e081acdfec743aee56a858fbe5e149">do_scan_is</a> (mask __m, const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi) const 
<li>virtual const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * <a class="el" href="a00442.html#a32ee9219fa2c0b6f2d51a7f8c7401a72">do_scan_not</a> (mask __m, const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi) const 
<li>virtual <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00442.html#a156634c11eccbdfee4b6916a7bd16ed3">do_tolower</a> (<a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> __c) const 
<li>virtual const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * <a class="el" href="a00442.html#a6ffb70e9d48c6dd5c40600331ef805af">do_tolower</a> (<a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi) const 
<li>virtual const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> * <a class="el" href="a00442.html#ae20256fa3d632f30b76c93c6516ae730">do_toupper</a> (<a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__lo, const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__hi) const 
<li>virtual <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00442.html#a9418f8cfe93ac1ed8f8a4e49b72f59aa">do_toupper</a> (<a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> __c) const 
<li>virtual const char * <a class="el" href="a00442.html#a5c33be2eb11c86c174d18c77a7f9d210">do_widen</a> (const char *__lo, const char *__hi, <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *__dest) const 
<li>virtual <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00442.html#ad3e6044ee0d48d298fb6acc7b5a6202a">do_widen</a> (char __c) const 
</ul>
<h2><a name="pro-static-methods"></a>
Static Protected Member Functions</h2>
<ul>
<li><a class="anchor" id="aaaa39cc3ae39c5283101ce8c9c630902"></a><!-- doxytag: member="std::ctype_byname::_S_clone_c_locale" ref="aaaa39cc3ae39c5283101ce8c9c630902" args="(__c_locale &amp;__cloc)" -->
static __c_locale <b>_S_clone_c_locale</b> (__c_locale &amp;__cloc)  throw ()
<li><a class="anchor" id="a60fbe742b113ff90f63e01c0ac658826"></a><!-- doxytag: member="std::ctype_byname::_S_create_c_locale" ref="a60fbe742b113ff90f63e01c0ac658826" args="(__c_locale &amp;__cloc, const char *__s, __c_locale __old=0)" -->
static void <b>_S_create_c_locale</b> (__c_locale &amp;__cloc, const char *__s, __c_locale __old=0)
<li><a class="anchor" id="a0a8c1c763d0d99421ab859f9c11668af"></a><!-- doxytag: member="std::ctype_byname::_S_destroy_c_locale" ref="a0a8c1c763d0d99421ab859f9c11668af" args="(__c_locale &amp;__cloc)" -->
static void <b>_S_destroy_c_locale</b> (__c_locale &amp;__cloc)
<li><a class="anchor" id="a2e71ffc16033618e86c8c9d14ae4b022"></a><!-- doxytag: member="std::ctype_byname::_S_get_c_locale" ref="a2e71ffc16033618e86c8c9d14ae4b022" args="()" -->
static __c_locale <b>_S_get_c_locale</b> ()
<li><a class="anchor" id="acda690006956a82c0cc436f5509c4f26"></a><!-- doxytag: member="std::ctype_byname::_S_get_c_name" ref="acda690006956a82c0cc436f5509c4f26" args="()" -->
static const char * <b>_S_get_c_name</b> ()  throw ()
<li><a class="anchor" id="a426725452f3ac010eb3c090e83a6e574"></a><!-- doxytag: member="std::ctype_byname::_S_lc_ctype_c_locale" ref="a426725452f3ac010eb3c090e83a6e574" args="(__c_locale __cloc, const char *__s)" -->
static __c_locale <b>_S_lc_ctype_c_locale</b> (__c_locale __cloc, const char *__s)
</ul>
<h2><a name="friends"></a>
Friends</h2>
<ul>
<li><a class="anchor" id="ad6cc86eddbc65fb7e6d6d09b2c42d697"></a><!-- doxytag: member="std::ctype_byname::locale::_Impl" ref="ad6cc86eddbc65fb7e6d6d09b2c42d697" args="" -->
class <b>locale::_Impl</b>
</ul>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename _CharT&gt;<br/>
class std::ctype_byname&lt; _CharT &gt;</h3>

<p>class <a class="el" href="a00446.html" title="class ctype_byname [22.2.1.2].">ctype_byname</a> [22.2.1.2]. </p>

<p>Definition at line <a class="el" href="a00928_source.html#l01468">1468</a> of file <a class="el" href="a00928_source.html">locale_facets.h</a>.</p>
</div><hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a51606717fb0b11d0ed1248bc1630507a"></a><!-- doxytag: member="std::ctype_byname::char_type" ref="a51606717fb0b11d0ed1248bc1630507a" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef _CharT <a class="el" href="a00442.html">std::ctype</a>&lt; _CharT &gt;::<a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Typedef for the template parameter. </p>

<p>Reimplemented from <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">std::__ctype_abstract_base&lt; _CharT &gt;</a>.</p>

<p>Definition at line <a class="el" href="a00928_source.html#l00610">610</a> of file <a class="el" href="a00928_source.html">locale_facets.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ad07141fa94df4fa0794f13bbc9b8aefa"></a><!-- doxytag: member="std::ctype_byname::do_is" ref="ad07141fa94df4fa0794f13bbc9b8aefa" args="(const char_type *__lo, const char_type *__hi, mask *__vec) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00442.html">std::ctype</a>&lt; _CharT &gt;::do_is </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__lo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__hi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mask *&#160;</td>
          <td class="paramname"><em>__vec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected, virtual, inherited]</code></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><a class="el" href="a00442.html#a16a38ca6d15ad3573cc4ddf97dd0a4f4" title="Test char_type classification.">do_is()</a> is a hook for a derived facet to change the behavior of classifying. <a class="el" href="a00442.html#a16a38ca6d15ad3573cc4ddf97dd0a4f4" title="Test char_type classification.">do_is()</a> must always return the same result for the same input.</p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd><em>hi</em>. </dd></dl>

<p>Implements <a class="el" href="a00003.html#a11e40e753bfcc987db52294dc0c99878">std::__ctype_abstract_base&lt; _CharT &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a16a38ca6d15ad3573cc4ddf97dd0a4f4"></a><!-- doxytag: member="std::ctype_byname::do_is" ref="a16a38ca6d15ad3573cc4ddf97dd0a4f4" args="(mask __m, char_type __c) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="a00442.html">std::ctype</a>&lt; _CharT &gt;::do_is </td>
          <td>(</td>
          <td class="paramtype">mask&#160;</td>
          <td class="paramname"><em>__m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</td>
          <td class="paramname"><em>__c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected, virtual, inherited]</code></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><a class="el" href="a00442.html#a16a38ca6d15ad3573cc4ddf97dd0a4f4" title="Test char_type classification.">do_is()</a> is a hook for a derived facet to change the behavior of classifying. <a class="el" href="a00442.html#a16a38ca6d15ad3573cc4ddf97dd0a4f4" title="Test char_type classification.">do_is()</a> must always return the same result for the same input.</p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>(M &amp; m) != 0. </dd></dl>

<p>Implements <a class="el" href="a00003.html#a13f6a9df12541e794f95b69dd7c12d8d">std::__ctype_abstract_base&lt; _CharT &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a64654aed895c0dd2cdf8d24b6722cfd4"></a><!-- doxytag: member="std::ctype_byname::do_narrow" ref="a64654aed895c0dd2cdf8d24b6722cfd4" args="(char_type, char __dfault) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual char <a class="el" href="a00442.html">std::ctype</a>&lt; _CharT &gt;::do_narrow </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>__dfault</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected, virtual, inherited]</code></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><a class="el" href="a00442.html#a64654aed895c0dd2cdf8d24b6722cfd4" title="Narrow char_type to char.">do_narrow()</a> is a hook for a derived facet to change the behavior of narrowing. <a class="el" href="a00442.html#a64654aed895c0dd2cdf8d24b6722cfd4" title="Narrow char_type to char.">do_narrow()</a> 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><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>The converted char. </dd></dl>

<p>Implements <a class="el" href="a00003.html#a645c7b884c97216393edb4b18328f875">std::__ctype_abstract_base&lt; _CharT &gt;</a>.</p>

<p>Referenced by <a class="el" href="a00928_source.html#l00924">std::ctype&lt; char &gt;::narrow()</a>.</p>

</div>
</div>
<a class="anchor" id="a7bd4fa0866e8e699211c92ab255a7450"></a><!-- doxytag: member="std::ctype_byname::do_narrow" ref="a7bd4fa0866e8e699211c92ab255a7450" args="(const char_type *__lo, const char_type *__hi, char __dfault, char *__dest) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00442.html">std::ctype</a>&lt; _CharT &gt;::do_narrow </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__lo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__hi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>__dfault</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>__dest</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected, virtual, inherited]</code></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><a class="el" href="a00442.html#a64654aed895c0dd2cdf8d24b6722cfd4" title="Narrow char_type to char.">do_narrow()</a> is a hook for a derived facet to change the behavior of narrowing. <a class="el" href="a00442.html#a64654aed895c0dd2cdf8d24b6722cfd4" title="Narrow char_type to char.">do_narrow()</a> 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><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd><em>hi</em>. </dd></dl>

<p>Implements <a class="el" href="a00003.html#a0d84664460706d25bfafabe2173d1312">std::__ctype_abstract_base&lt; _CharT &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a70e081acdfec743aee56a858fbe5e149"></a><!-- doxytag: member="std::ctype_byname::do_scan_is" ref="a70e081acdfec743aee56a858fbe5e149" args="(mask __m, const char_type *__lo, const char_type *__hi) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00442.html">std::ctype</a>&lt; _CharT &gt;::do_scan_is </td>
          <td>(</td>
          <td class="paramtype">mask&#160;</td>
          <td class="paramname"><em>__m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__lo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__hi</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected, virtual, inherited]</code></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><a class="el" href="a00442.html#a70e081acdfec743aee56a858fbe5e149" title="Find char_type matching mask.">do_scan_is()</a> is a hook for a derived facet to change the behavior of match searching. <a class="el" href="a00442.html#a16a38ca6d15ad3573cc4ddf97dd0a4f4" title="Test char_type classification.">do_is()</a> must always return the same result for the same input.</p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>Pointer to a matching char_type if found, else <em>hi</em>. </dd></dl>

<p>Implements <a class="el" href="a00003.html#a6d63444db4c605c256c36343394bb883">std::__ctype_abstract_base&lt; _CharT &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a32ee9219fa2c0b6f2d51a7f8c7401a72"></a><!-- doxytag: member="std::ctype_byname::do_scan_not" ref="a32ee9219fa2c0b6f2d51a7f8c7401a72" args="(mask __m, const char_type *__lo, const char_type *__hi) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00442.html">std::ctype</a>&lt; _CharT &gt;::do_scan_not </td>
          <td>(</td>
          <td class="paramtype">mask&#160;</td>
          <td class="paramname"><em>__m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__lo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__hi</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected, virtual, inherited]</code></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><a class="el" href="a00442.html#a70e081acdfec743aee56a858fbe5e149" title="Find char_type matching mask.">do_scan_is()</a> is a hook for a derived facet to change the behavior of match searching. <a class="el" href="a00442.html#a16a38ca6d15ad3573cc4ddf97dd0a4f4" title="Test char_type classification.">do_is()</a> must always return the same result for the same input.</p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>Pointer to a non-matching char_type if found, else <em>hi</em>. </dd></dl>

<p>Implements <a class="el" href="a00003.html#a40c1314bb60f9b9795ec8e628ffbcc34">std::__ctype_abstract_base&lt; _CharT &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a6ffb70e9d48c6dd5c40600331ef805af"></a><!-- doxytag: member="std::ctype_byname::do_tolower" ref="a6ffb70e9d48c6dd5c40600331ef805af" args="(char_type *__lo, const char_type *__hi) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00442.html">std::ctype</a>&lt; _CharT &gt;::do_tolower </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__lo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__hi</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected, virtual, inherited]</code></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><a class="el" href="a00442.html#a156634c11eccbdfee4b6916a7bd16ed3" title="Convert to lowercase.">do_tolower()</a> is a hook for a derived facet to change the behavior of lowercasing. <a class="el" href="a00442.html#a156634c11eccbdfee4b6916a7bd16ed3" title="Convert to lowercase.">do_tolower()</a> must always return the same result for the same input.</p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd><em>hi</em>. </dd></dl>

<p>Implements <a class="el" href="a00003.html#afe5fc2040092e4f8fb6e88d253f4d3c3">std::__ctype_abstract_base&lt; _CharT &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a156634c11eccbdfee4b6916a7bd16ed3"></a><!-- doxytag: member="std::ctype_byname::do_tolower" ref="a156634c11eccbdfee4b6916a7bd16ed3" args="(char_type __c) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00442.html">std::ctype</a>&lt; _CharT &gt;::do_tolower </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [protected, virtual, inherited]</code></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><a class="el" href="a00442.html#a156634c11eccbdfee4b6916a7bd16ed3" title="Convert to lowercase.">do_tolower()</a> is a hook for a derived facet to change the behavior of lowercasing. <a class="el" href="a00442.html#a156634c11eccbdfee4b6916a7bd16ed3" title="Convert to lowercase.">do_tolower()</a> must always return the same result for the same input.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>The char_type to convert. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The lowercase char_type if convertible, else <em>c</em>. </dd></dl>

<p>Implements <a class="el" href="a00003.html#a6baed2b4167da27f41345af06621f9a1">std::__ctype_abstract_base&lt; _CharT &gt;</a>.</p>

<p>Referenced by <a class="el" href="a00928_source.html#l00829">std::ctype&lt; char &gt;::tolower()</a>.</p>

</div>
</div>
<a class="anchor" id="ae20256fa3d632f30b76c93c6516ae730"></a><!-- doxytag: member="std::ctype_byname::do_toupper" ref="ae20256fa3d632f30b76c93c6516ae730" args="(char_type *__lo, const char_type *__hi) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00442.html">std::ctype</a>&lt; _CharT &gt;::do_toupper </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__lo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__hi</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected, virtual, inherited]</code></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><a class="el" href="a00442.html#a9418f8cfe93ac1ed8f8a4e49b72f59aa" title="Convert to uppercase.">do_toupper()</a> is a hook for a derived facet to change the behavior of uppercasing. <a class="el" href="a00442.html#a9418f8cfe93ac1ed8f8a4e49b72f59aa" title="Convert to uppercase.">do_toupper()</a> must always return the same result for the same input.</p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd><em>hi</em>. </dd></dl>

<p>Implements <a class="el" href="a00003.html#a51eeaf4fefdd3a85b0706028cec0c5e7">std::__ctype_abstract_base&lt; _CharT &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a9418f8cfe93ac1ed8f8a4e49b72f59aa"></a><!-- doxytag: member="std::ctype_byname::do_toupper" ref="a9418f8cfe93ac1ed8f8a4e49b72f59aa" args="(char_type __c) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00442.html">std::ctype</a>&lt; _CharT &gt;::do_toupper </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [protected, virtual, inherited]</code></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><a class="el" href="a00442.html#a9418f8cfe93ac1ed8f8a4e49b72f59aa" title="Convert to uppercase.">do_toupper()</a> is a hook for a derived facet to change the behavior of uppercasing. <a class="el" href="a00442.html#a9418f8cfe93ac1ed8f8a4e49b72f59aa" title="Convert to uppercase.">do_toupper()</a> must always return the same result for the same input.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>The char_type to convert. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The uppercase char_type if convertible, else <em>c</em>. </dd></dl>

<p>Implements <a class="el" href="a00003.html#a9b4f7925b00dd16e3a8223a3a3c4ad7a">std::__ctype_abstract_base&lt; _CharT &gt;</a>.</p>

<p>Referenced by <a class="el" href="a00928_source.html#l00796">std::ctype&lt; char &gt;::toupper()</a>.</p>

</div>
</div>
<a class="anchor" id="ad3e6044ee0d48d298fb6acc7b5a6202a"></a><!-- doxytag: member="std::ctype_byname::do_widen" ref="ad3e6044ee0d48d298fb6acc7b5a6202a" args="(char __c) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00442.html">std::ctype</a>&lt; _CharT &gt;::do_widen </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [protected, virtual, inherited]</code></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><a class="el" href="a00442.html#ad3e6044ee0d48d298fb6acc7b5a6202a" title="Widen char.">do_widen()</a> is a hook for a derived facet to change the behavior of widening. <a class="el" href="a00442.html#ad3e6044ee0d48d298fb6acc7b5a6202a" title="Widen char.">do_widen()</a> 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><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>The char to convert. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The converted char_type </dd></dl>

<p>Implements <a class="el" href="a00003.html#a42c10824207c4445872184356b2fbb11">std::__ctype_abstract_base&lt; _CharT &gt;</a>.</p>

<p>Referenced by <a class="el" href="a00928_source.html#l00866">std::ctype&lt; char &gt;::widen()</a>.</p>

</div>
</div>
<a class="anchor" id="a5c33be2eb11c86c174d18c77a7f9d210"></a><!-- doxytag: member="std::ctype_byname::do_widen" ref="a5c33be2eb11c86c174d18c77a7f9d210" args="(const char *__lo, const char *__hi, char_type *__dest) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* <a class="el" href="a00442.html">std::ctype</a>&lt; _CharT &gt;::do_widen </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>__lo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>__hi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__dest</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected, virtual, inherited]</code></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><a class="el" href="a00442.html#ad3e6044ee0d48d298fb6acc7b5a6202a" title="Widen char.">do_widen()</a> is a hook for a derived facet to change the behavior of widening. <a class="el" href="a00442.html#ad3e6044ee0d48d298fb6acc7b5a6202a" title="Widen char.">do_widen()</a> 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><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd><em>hi</em>. </dd></dl>

<p>Implements <a class="el" href="a00003.html#a99921213e0265edfd651e4e1fa260827">std::__ctype_abstract_base&lt; _CharT &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a9ad5e9bf4b65639e19c79dc795c94e99"></a><!-- doxytag: member="std::ctype_byname::is" ref="a9ad5e9bf4b65639e19c79dc795c94e99" args="(mask __m, char_type __c) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00003.html">std::__ctype_abstract_base</a>&lt; _CharT &gt;::is </td>
          <td>(</td>
          <td class="paramtype">mask&#160;</td>
          <td class="paramname"><em>__m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</td>
          <td class="paramname"><em>__c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></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 <a class="el" href="a00442.html#a16a38ca6d15ad3573cc4ddf97dd0a4f4" title="Test char_type classification.">ctype&lt;char_type&gt;::do_is()</a>.</p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>(M &amp; m) != 0. </dd></dl>

<p>Definition at line <a class="el" href="a00928_source.html#l00163">163</a> of file <a class="el" href="a00928_source.html">locale_facets.h</a>.</p>

<p>Referenced by <a class="el" href="a01006_source.html#l00284">std::regex_traits&lt; _Ch_type &gt;::isctype()</a>, and <a class="el" href="a00913_source.html#l00049">std::basic_istream&lt; _CharT, _Traits &gt;::sentry::sentry()</a>.</p>

</div>
</div>
<a class="anchor" id="ae3a3d67266bd9721181b26618f5da40d"></a><!-- doxytag: member="std::ctype_byname::is" ref="ae3a3d67266bd9721181b26618f5da40d" args="(const char_type *__lo, const char_type *__hi, mask *__vec) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00003.html">std::__ctype_abstract_base</a>&lt; _CharT &gt;::is </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__lo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__hi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mask *&#160;</td>
          <td class="paramname"><em>__vec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></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 <a class="el" href="a00442.html#a16a38ca6d15ad3573cc4ddf97dd0a4f4" title="Test char_type classification.">ctype&lt;char_type&gt;::do_is()</a>.</p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd><em>hi</em>. </dd></dl>

<p>Definition at line <a class="el" href="a00928_source.html#l00180">180</a> of file <a class="el" href="a00928_source.html">locale_facets.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3c11647c0de25dd088dbb44633828531"></a><!-- doxytag: member="std::ctype_byname::narrow" ref="a3c11647c0de25dd088dbb44633828531" args="(char_type __c, char __dfault) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">char <a class="el" href="a00003.html">std::__ctype_abstract_base</a>&lt; _CharT &gt;::narrow </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</td>
          <td class="paramname"><em>__c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>__dfault</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></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&lt;char_type&gt;::do_narrow(c).</p>
<p>Note: this is not what you want for codepage conversions. See codecvt for that.</p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>The converted char. </dd></dl>

<p>Definition at line <a class="el" href="a00928_source.html#l00325">325</a> of file <a class="el" href="a00928_source.html">locale_facets.h</a>.</p>

<p>Referenced by <a class="el" href="a00931_source.html#l01143">std::time_put&lt; _CharT, _OutIter &gt;::put()</a>.</p>

</div>
</div>
<a class="anchor" id="a72b8c254c9d7b7f376fb8fed23712fd7"></a><!-- doxytag: member="std::ctype_byname::narrow" ref="a72b8c254c9d7b7f376fb8fed23712fd7" args="(const char_type *__lo, const char_type *__hi, char __dfault, char *__to) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00003.html">std::__ctype_abstract_base</a>&lt; _CharT &gt;::narrow </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__lo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__hi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>__dfault</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>__to</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></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&lt;char_type&gt;::do_narrow(lo, hi, dfault, to).</p>
<p>Note: this is not what you want for codepage conversions. See codecvt for that.</p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd><em>hi</em>. </dd></dl>

<p>Definition at line <a class="el" href="a00928_source.html#l00347">347</a> of file <a class="el" href="a00928_source.html">locale_facets.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7162d0bf819bcca1980f4f07d7dac7a0"></a><!-- doxytag: member="std::ctype_byname::scan_is" ref="a7162d0bf819bcca1980f4f07d7dac7a0" args="(mask __m, const char_type *__lo, const char_type *__hi) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00003.html">std::__ctype_abstract_base</a>&lt; _CharT &gt;::scan_is </td>
          <td>(</td>
          <td class="paramtype">mask&#160;</td>
          <td class="paramname"><em>__m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__lo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__hi</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></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 <a class="el" href="a00442.html#a70e081acdfec743aee56a858fbe5e149" title="Find char_type matching mask.">ctype&lt;char_type&gt;::do_scan_is()</a>.</p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>Pointer to matching char_type if found, else <em>hi</em>. </dd></dl>

<p>Definition at line <a class="el" href="a00928_source.html#l00196">196</a> of file <a class="el" href="a00928_source.html">locale_facets.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1174fbcc54eb1ddd0768fe367320e447"></a><!-- doxytag: member="std::ctype_byname::scan_not" ref="a1174fbcc54eb1ddd0768fe367320e447" args="(mask __m, const char_type *__lo, const char_type *__hi) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00003.html">std::__ctype_abstract_base</a>&lt; _CharT &gt;::scan_not </td>
          <td>(</td>
          <td class="paramtype">mask&#160;</td>
          <td class="paramname"><em>__m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__lo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__hi</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></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 <a class="el" href="a00442.html#a32ee9219fa2c0b6f2d51a7f8c7401a72" title="Find char_type not matching mask.">ctype&lt;char_type&gt;::do_scan_not()</a>.</p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>Pointer to non-matching char if found, else <em>hi</em>. </dd></dl>

<p>Definition at line <a class="el" href="a00928_source.html#l00212">212</a> of file <a class="el" href="a00928_source.html">locale_facets.h</a>.</p>

</div>
</div>
<a class="anchor" id="a47cb1072292d84849ded75c5f2351f50"></a><!-- doxytag: member="std::ctype_byname::tolower" ref="a47cb1072292d84849ded75c5f2351f50" args="(char_type *__lo, const char_type *__hi) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00003.html">std::__ctype_abstract_base</a>&lt; _CharT &gt;::tolower </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__lo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__hi</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></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&lt;char_type&gt;:: do_tolower(lo, hi).</p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd><em>hi</em>. </dd></dl>

<p>Definition at line <a class="el" href="a00928_source.html#l00270">270</a> of file <a class="el" href="a00928_source.html">locale_facets.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad4b200f6cb2021329adf8b915e0ccf5a"></a><!-- doxytag: member="std::ctype_byname::tolower" ref="ad4b200f6cb2021329adf8b915e0ccf5a" args="(char_type __c) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00003.html">std::__ctype_abstract_base</a>&lt; _CharT &gt;::tolower </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</td>
          <td class="paramname"><em>__c</em></td><td>)</td>
          <td> const<code> [inline, inherited]</code></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&lt;char_type&gt;::do_tolower(c).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>The char_type to convert. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The lowercase char_type if convertible, else <em>c</em>. </dd></dl>

<p>Definition at line <a class="el" href="a00928_source.html#l00255">255</a> of file <a class="el" href="a00928_source.html">locale_facets.h</a>.</p>

</div>
</div>
<a class="anchor" id="a54ab446370ba2d0f634863fce23c8f51"></a><!-- doxytag: member="std::ctype_byname::toupper" ref="a54ab446370ba2d0f634863fce23c8f51" args="(char_type *__lo, const char_type *__hi) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>* <a class="el" href="a00003.html">std::__ctype_abstract_base</a>&lt; _CharT &gt;::toupper </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__lo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__hi</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></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&lt;char_type&gt;:: do_toupper(lo, hi).</p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd><em>hi</em>. </dd></dl>

<p>Definition at line <a class="el" href="a00928_source.html#l00241">241</a> of file <a class="el" href="a00928_source.html">locale_facets.h</a>.</p>

</div>
</div>
<a class="anchor" id="a852a9e9c9f7938220ae5f8cc36e3d017"></a><!-- doxytag: member="std::ctype_byname::toupper" ref="a852a9e9c9f7938220ae5f8cc36e3d017" args="(char_type __c) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00003.html">std::__ctype_abstract_base</a>&lt; _CharT &gt;::toupper </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</td>
          <td class="paramname"><em>__c</em></td><td>)</td>
          <td> const<code> [inline, inherited]</code></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 <a class="el" href="a00442.html#a9418f8cfe93ac1ed8f8a4e49b72f59aa" title="Convert to uppercase.">ctype&lt;char_type&gt;::do_toupper()</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>The char_type to convert. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The uppercase char_type if convertible, else <em>c</em>. </dd></dl>

<p>Definition at line <a class="el" href="a00928_source.html#l00226">226</a> of file <a class="el" href="a00928_source.html">locale_facets.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab406c705eec370b9bd6a8e289195ec9a"></a><!-- doxytag: member="std::ctype_byname::widen" ref="ab406c705eec370b9bd6a8e289195ec9a" args="(char __c) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> <a class="el" href="a00003.html">std::__ctype_abstract_base</a>&lt; _CharT &gt;::widen </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>__c</em></td><td>)</td>
          <td> const<code> [inline, inherited]</code></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&lt;char_type&gt;::do_widen(c).</p>
<p>Note: this is not what you want for codepage conversions. See codecvt for that.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>The char to convert. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The converted char_type. </dd></dl>

<p>Definition at line <a class="el" href="a00928_source.html#l00287">287</a> of file <a class="el" href="a00928_source.html">locale_facets.h</a>.</p>

<p>Referenced by <a class="el" href="a00931_source.html#l00378">std::money_get&lt; _CharT, _InIter &gt;::do_get()</a>, <a class="el" href="a00931_source.html#l01178">std::time_put&lt; _CharT, _OutIter &gt;::do_put()</a>, <a class="el" href="a00931_source.html#l00570">std::money_put&lt; _CharT, _OutIter &gt;::do_put()</a>, <a class="el" href="a01006_source.html#l00284">std::regex_traits&lt; _Ch_type &gt;::isctype()</a>, and <a class="el" href="a00775_source.html#l01514">std::operator&lt;&lt;()</a>.</p>

</div>
</div>
<a class="anchor" id="ac10fbcd9784de2639e9ba518bf8d4140"></a><!-- doxytag: member="std::ctype_byname::widen" ref="ac10fbcd9784de2639e9ba518bf8d4140" args="(const char *__lo, const char *__hi, char_type *__to) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="a00003.html">std::__ctype_abstract_base</a>&lt; _CharT &gt;::widen </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>__lo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>__hi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00003.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</td>
          <td class="paramname"><em>__to</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></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&lt;char_type&gt;::do_widen(c).</p>
<p>Note: this is not what you want for codepage conversions. See codecvt for that.</p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd><em>hi</em>. </dd></dl>

<p>Definition at line <a class="el" href="a00928_source.html#l00306">306</a> of file <a class="el" href="a00928_source.html">locale_facets.h</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="ad9d09c3f3e6b0adc794173ea09adda8b"></a><!-- doxytag: member="std::ctype_byname::id" ref="ad9d09c3f3e6b0adc794173ea09adda8b" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00583.html">locale::id</a> <a class="el" href="a00442.html">std::ctype</a>&lt; _CharT &gt;::<a class="el" href="a00442.html#ad9d09c3f3e6b0adc794173ea09adda8b">id</a><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The facet id for ctype&lt;char_type&gt; </p>

<p>Definition at line <a class="el" href="a00928_source.html#l00614">614</a> of file <a class="el" href="a00928_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="a00928_source.html">locale_facets.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="a01137.html">std</a>      </li>
      <li class="navelem"><a class="el" href="a00446.html">ctype_byname</a>      </li>
      <li class="footer">Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </li>
    </ul>
  </div>

</body>
</html>