Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > f0832865ec1f56b99d190174ffc30cd0 > files > 12

libstdc++-docs-4.8.2-3.mga4.noarch.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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>libstdc++: std::__ctype_abstract_base&lt; _CharT &gt; 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> &#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="a02685.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">std::__ctype_abstract_base&lt; _CharT &gt; 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&lt; _CharT &gt;:</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 *&#160;</td><td class="memItemRight" valign="bottom"><b>__to_type</b></td></tr>
<tr class="separator:a5f48720a9ce7a65c85c3eadb6be509f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b04fb1c6b10871f93cd4f60d0f78f8d"><td class="memItemLeft" align="right" valign="top">typedef _CharT&#160;</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">&#160;</td></tr>
<tr class="memitem:a3b4ec6a3bdbe8e685eb129460ace4f79"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b4ec6a3bdbe8e685eb129460ace4f79"></a>
typedef unsigned short&#160;</td><td class="memItemRight" valign="bottom"><b>mask</b></td></tr>
<tr class="separator:a3b4ec6a3bdbe8e685eb129460ace4f79"><td class="memSeparator" colspan="2">&#160;</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&#160;</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">&#160;</td></tr>
<tr class="memitem:ae3a3d67266bd9721181b26618f5da40d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</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">&#160;</td></tr>
<tr class="memitem:a3c11647c0de25dd088dbb44633828531"><td class="memItemLeft" align="right" valign="top">char&#160;</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">&#160;</td></tr>
<tr class="memitem:a72b8c254c9d7b7f376fb8fed23712fd7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</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">&#160;</td></tr>
<tr class="memitem:a7162d0bf819bcca1980f4f07d7dac7a0"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</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">&#160;</td></tr>
<tr class="memitem:a1174fbcc54eb1ddd0768fe367320e447"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</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">&#160;</td></tr>
<tr class="memitem:ad4b200f6cb2021329adf8b915e0ccf5a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</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">&#160;</td></tr>
<tr class="memitem:a47cb1072292d84849ded75c5f2351f50"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</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">&#160;</td></tr>
<tr class="memitem:a852a9e9c9f7938220ae5f8cc36e3d017"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</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">&#160;</td></tr>
<tr class="memitem:a54ab446370ba2d0f634863fce23c8f51"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a> *&#160;</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">&#160;</td></tr>
<tr class="memitem:ab406c705eec370b9bd6a8e289195ec9a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</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">&#160;</td></tr>
<tr class="memitem:ac10fbcd9784de2639e9ba518bf8d4140"><td class="memItemLeft" align="right" valign="top">const char *&#160;</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">&#160;</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&#160;</td><td class="memItemRight" valign="bottom"><b>alnum</b></td></tr>
<tr class="separator:a647042ef0953afac8db2505a083d554d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ae00fba70505be303107f4429fd00c5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ae00fba70505be303107f4429fd00c5"></a>
static const mask&#160;</td><td class="memItemRight" valign="bottom"><b>alpha</b></td></tr>
<tr class="separator:a3ae00fba70505be303107f4429fd00c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afabc36a91999cdcd9a42ac110581bf9a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afabc36a91999cdcd9a42ac110581bf9a"></a>
static const mask&#160;</td><td class="memItemRight" valign="bottom"><b>cntrl</b></td></tr>
<tr class="separator:afabc36a91999cdcd9a42ac110581bf9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55c6c04c7389ab91689789a041aa4bbf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55c6c04c7389ab91689789a041aa4bbf"></a>
static const mask&#160;</td><td class="memItemRight" valign="bottom"><b>digit</b></td></tr>
<tr class="separator:a55c6c04c7389ab91689789a041aa4bbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfa3632ccd39b727567e9f1c843210a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adfa3632ccd39b727567e9f1c843210a4"></a>
static const mask&#160;</td><td class="memItemRight" valign="bottom"><b>graph</b></td></tr>
<tr class="separator:adfa3632ccd39b727567e9f1c843210a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a608769609a66c382dc1013e025413bf9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a608769609a66c382dc1013e025413bf9"></a>
static const mask&#160;</td><td class="memItemRight" valign="bottom"><b>lower</b></td></tr>
<tr class="separator:a608769609a66c382dc1013e025413bf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97a370592d1edb537f570ce544384fbf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97a370592d1edb537f570ce544384fbf"></a>
static const mask&#160;</td><td class="memItemRight" valign="bottom"><b>print</b></td></tr>
<tr class="separator:a97a370592d1edb537f570ce544384fbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40290f8665839843e3adf805ef4dac63"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a40290f8665839843e3adf805ef4dac63"></a>
static const mask&#160;</td><td class="memItemRight" valign="bottom"><b>punct</b></td></tr>
<tr class="separator:a40290f8665839843e3adf805ef4dac63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cc2b9b6be486b744fbbb701cf20f030"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6cc2b9b6be486b744fbbb701cf20f030"></a>
static const mask&#160;</td><td class="memItemRight" valign="bottom"><b>space</b></td></tr>
<tr class="separator:a6cc2b9b6be486b744fbbb701cf20f030"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9b5673283d3f0bf05c78dd61d2996eb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9b5673283d3f0bf05c78dd61d2996eb"></a>
static const mask&#160;</td><td class="memItemRight" valign="bottom"><b>upper</b></td></tr>
<tr class="separator:ab9b5673283d3f0bf05c78dd61d2996eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4adf373a7b38c7e7eafc1e2e8b193abc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4adf373a7b38c7e7eafc1e2e8b193abc"></a>
static const mask&#160;</td><td class="memItemRight" valign="bottom"><b>xdigit</b></td></tr>
<tr class="separator:a4adf373a7b38c7e7eafc1e2e8b193abc"><td class="memSeparator" colspan="2">&#160;</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>
&#160;</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">&#160;</td></tr>
<tr class="memitem:a13f6a9df12541e794f95b69dd7c12d8d"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</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">&#160;</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> *&#160;</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">&#160;</td></tr>
<tr class="memitem:ab2c37d0e04ecf5a71d618ca97478c893"><td class="memItemLeft" align="right" valign="top">virtual char&#160;</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">&#160;</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> *&#160;</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">&#160;</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> *&#160;</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">&#160;</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> *&#160;</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">&#160;</td></tr>
<tr class="memitem:a322123706f52d8c72b9c8bee3f612676"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</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">&#160;</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> *&#160;</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">&#160;</td></tr>
<tr class="memitem:af90fbcc9340edf7ca0002520cccb0b8f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</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">&#160;</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> *&#160;</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">&#160;</td></tr>
<tr class="memitem:a0f4951419f48a08bd975cb49a81995a5"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</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">&#160;</td></tr>
<tr class="memitem:a289ae9e9ce16c7c26a8356b4610c7dee"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</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">&#160;</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&#160;</td><td class="memItemRight" valign="bottom"><b>_S_clone_c_locale</b> (__c_locale &amp;__cloc)  throw ()</td></tr>
<tr class="separator:aaaa39cc3ae39c5283101ce8c9c630902"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60fbe742b113ff90f63e01c0ac658826"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60fbe742b113ff90f63e01c0ac658826"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_S_create_c_locale</b> (__c_locale &amp;__cloc, const char *__s, __c_locale __old=0)</td></tr>
<tr class="separator:a60fbe742b113ff90f63e01c0ac658826"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a8c1c763d0d99421ab859f9c11668af"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a8c1c763d0d99421ab859f9c11668af"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_S_destroy_c_locale</b> (__c_locale &amp;__cloc)</td></tr>
<tr class="separator:a0a8c1c763d0d99421ab859f9c11668af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e71ffc16033618e86c8c9d14ae4b022"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e71ffc16033618e86c8c9d14ae4b022"></a>
static __c_locale&#160;</td><td class="memItemRight" valign="bottom"><b>_S_get_c_locale</b> ()</td></tr>
<tr class="separator:a2e71ffc16033618e86c8c9d14ae4b022"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acda690006956a82c0cc436f5509c4f26"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acda690006956a82c0cc436f5509c4f26"></a>
static const char *&#160;</td><td class="memItemRight" valign="bottom"><b>_S_get_c_name</b> ()  throw ()</td></tr>
<tr class="separator:acda690006956a82c0cc436f5509c4f26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a426725452f3ac010eb3c090e83a6e574"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a426725452f3ac010eb3c090e83a6e574"></a>
static __c_locale&#160;</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">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename _CharT&gt;<br/>
class std::__ctype_abstract_base&lt; _CharT &gt;</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&lt;typename _CharT&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef _CharT <a class="el" href="a00004.html">std::__ctype_abstract_base</a>&lt; _CharT &gt;::<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&lt;typename _CharT&gt; </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>&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="a00004.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</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 &amp; __m) != 0. </dd></dl>

<p>Implemented in <a class="el" href="a00696.html#ab3899e012e768879675d451747b4501c">std::ctype&lt; wchar_t &gt;</a>, and <a class="el" href="a00694.html#a16a38ca6d15ad3573cc4ddf97dd0a4f4">std::ctype&lt; _CharT &gt;</a>.</p>

<p>Referenced by <a class="el" href="a01345_source.html#l00162">std::__ctype_abstract_base&lt; wchar_t &gt;::is()</a>.</p>

</div>
</div>
<a class="anchor" id="a11e40e753bfcc987db52294dc0c99878"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </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>&lt; _CharT &gt;::do_is </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00004.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="a00004.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</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&lt; wchar_t &gt;</a>, and <a class="el" href="a00694.html#ad07141fa94df4fa0794f13bbc9b8aefa">std::ctype&lt; _CharT &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ab2c37d0e04ecf5a71d618ca97478c893"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </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>&lt; _CharT &gt;::do_narrow </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00004.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</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&lt; wchar_t &gt;</a>, and <a class="el" href="a00694.html#a64654aed895c0dd2cdf8d24b6722cfd4">std::ctype&lt; _CharT &gt;</a>.</p>

<p>Referenced by <a class="el" href="a01345_source.html#l00324">std::__ctype_abstract_base&lt; wchar_t &gt;::narrow()</a>.</p>

</div>
</div>
<a class="anchor" id="a5bd09acf78baf8b8ae9cff1938cf6668"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </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>&lt; _CharT &gt;::do_narrow </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00004.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="a00004.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</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&lt; wchar_t &gt;</a>, and <a class="el" href="a00694.html#a59a709f4569ae24a3d8683e35488160f">std::ctype&lt; _CharT &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a6d63444db4c605c256c36343394bb883"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </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>&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="a00004.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="a00004.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</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&lt; wchar_t &gt;</a>, and <a class="el" href="a00694.html#a70e081acdfec743aee56a858fbe5e149">std::ctype&lt; _CharT &gt;</a>.</p>

<p>Referenced by <a class="el" href="a01345_source.html#l00195">std::__ctype_abstract_base&lt; wchar_t &gt;::scan_is()</a>.</p>

</div>
</div>
<a class="anchor" id="a40c1314bb60f9b9795ec8e628ffbcc34"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </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>&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="a00004.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="a00004.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</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&lt; wchar_t &gt;</a>, and <a class="el" href="a00694.html#a32ee9219fa2c0b6f2d51a7f8c7401a72">std::ctype&lt; _CharT &gt;</a>.</p>

<p>Referenced by <a class="el" href="a01345_source.html#l00211">std::__ctype_abstract_base&lt; wchar_t &gt;::scan_not()</a>.</p>

</div>
</div>
<a class="anchor" id="a322123706f52d8c72b9c8bee3f612676"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </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>&lt; _CharT &gt;::do_tolower </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</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&lt; wchar_t &gt;</a>, and <a class="el" href="a00694.html#a156634c11eccbdfee4b6916a7bd16ed3">std::ctype&lt; _CharT &gt;</a>.</p>

<p>Referenced by <a class="el" href="a01345_source.html#l00254">std::__ctype_abstract_base&lt; wchar_t &gt;::tolower()</a>.</p>

</div>
</div>
<a class="anchor" id="afe5fc2040092e4f8fb6e88d253f4d3c3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </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>&lt; _CharT &gt;::do_tolower </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00004.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="a00004.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</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&lt; wchar_t &gt;</a>, and <a class="el" href="a00694.html#a6ffb70e9d48c6dd5c40600331ef805af">std::ctype&lt; _CharT &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="af90fbcc9340edf7ca0002520cccb0b8f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </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>&lt; _CharT &gt;::do_toupper </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</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&lt; wchar_t &gt;</a>, and <a class="el" href="a00694.html#a9418f8cfe93ac1ed8f8a4e49b72f59aa">std::ctype&lt; _CharT &gt;</a>.</p>

<p>Referenced by <a class="el" href="a01345_source.html#l00225">std::__ctype_abstract_base&lt; wchar_t &gt;::toupper()</a>.</p>

</div>
</div>
<a class="anchor" id="a51eeaf4fefdd3a85b0706028cec0c5e7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </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>&lt; _CharT &gt;::do_toupper </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00004.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="a00004.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</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&lt; wchar_t &gt;</a>, and <a class="el" href="a00694.html#ae20256fa3d632f30b76c93c6516ae730">std::ctype&lt; _CharT &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a0f4951419f48a08bd975cb49a81995a5"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </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>&lt; _CharT &gt;::do_widen </td>
          <td>(</td>
          <td class="paramtype">char&#160;</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&lt; wchar_t &gt;</a>, and <a class="el" href="a00694.html#ad3e6044ee0d48d298fb6acc7b5a6202a">std::ctype&lt; _CharT &gt;</a>.</p>

<p>Referenced by <a class="el" href="a01345_source.html#l00286">std::__ctype_abstract_base&lt; wchar_t &gt;::widen()</a>.</p>

</div>
</div>
<a class="anchor" id="a289ae9e9ce16c7c26a8356b4610c7dee"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </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>&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="a00004.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</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&lt; wchar_t &gt;</a>, and <a class="el" href="a00694.html#a5c33be2eb11c86c174d18c77a7f9d210">std::ctype&lt; _CharT &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a9ad5e9bf4b65639e19c79dc795c94e99"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </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>&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="a00004.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</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&lt;char_type&gt;::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 &amp; __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&lt; _CharT, _Traits &gt;::sentry::sentry()</a>.</p>

</div>
</div>
<a class="anchor" id="ae3a3d67266bd9721181b26618f5da40d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </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>&lt; _CharT &gt;::is </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00004.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="a00004.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</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&lt;char_type&gt;::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&lt;typename _CharT&gt; </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>&lt; _CharT &gt;::narrow </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00004.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</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&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 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&lt; _CharT, _OutIter &gt;::put()</a>.</p>

</div>
</div>
<a class="anchor" id="a72b8c254c9d7b7f376fb8fed23712fd7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </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>&lt; _CharT &gt;::narrow </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00004.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="a00004.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</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&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 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&lt;typename _CharT&gt; </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>&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="a00004.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="a00004.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</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&lt;char_type&gt;::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&lt;typename _CharT&gt; </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>&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="a00004.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="a00004.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</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&lt;char_type&gt;::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&lt;typename _CharT&gt; </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>&lt; _CharT &gt;::tolower </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</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&lt;char_type&gt;::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&lt;typename _CharT&gt; </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>&lt; _CharT &gt;::tolower </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00004.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="a00004.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</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&lt;char_type&gt;:: 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&lt;typename _CharT&gt; </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>&lt; _CharT &gt;::toupper </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00004.html#a6b04fb1c6b10871f93cd4f60d0f78f8d">char_type</a>&#160;</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&lt;char_type&gt;::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&lt;typename _CharT&gt; </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>&lt; _CharT &gt;::toupper </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00004.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="a00004.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</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&lt;char_type&gt;:: 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&lt;typename _CharT&gt; </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>&lt; _CharT &gt;::widen </td>
          <td>(</td>
          <td class="paramtype">char&#160;</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&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 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&lt; _CharT, _InIter &gt;::do_get()</a>, <a class="el" href="a01348_source.html#l01178">std::time_put&lt; _CharT, _OutIter &gt;::do_put()</a>, <a class="el" href="a01348_source.html#l00570">std::money_put&lt; _CharT, _OutIter &gt;::do_put()</a>, <a class="el" href="a01194_source.html#l01455">std::tr2::operator&lt;&lt;()</a>, and <a class="el" href="a01061_source.html#l01521">std::operator&lt;&lt;()</a>.</p>

</div>
</div>
<a class="anchor" id="ac10fbcd9784de2639e9ba518bf8d4140"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _CharT&gt; </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>&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="a00004.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</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&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 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>