1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<html> 3<head> 4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5<title>Struct template c_regex_traits</title> 6<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> 7<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 8<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> 9<link rel="up" href="../../xpressive/reference.html#header.boost.xpressive.xpressive_fwd_hpp" title="Header <boost/xpressive/xpressive_fwd.hpp>"> 10<link rel="prev" href="basic_regex.html" title="Struct template basic_regex"> 11<link rel="next" href="compiler_traits.html" title="Struct template compiler_traits"> 12</head> 13<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 14<table cellpadding="2" width="100%"><tr> 15<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> 16<td align="center"><a href="../../../../index.html">Home</a></td> 17<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> 18<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> 19<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> 20<td align="center"><a href="../../../../more/index.htm">More</a></td> 21</tr></table> 22<hr> 23<div class="spirit-nav"> 24<a accesskey="p" href="basic_regex.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../xpressive/reference.html#header.boost.xpressive.xpressive_fwd_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="compiler_traits.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> 25</div> 26<div class="refentry"> 27<a name="boost.xpressive.c_regex_traits"></a><div class="titlepage"></div> 28<div class="refnamediv"> 29<h2><span class="refentrytitle">Struct template c_regex_traits</span></h2> 30<p>boost::xpressive::c_regex_traits — Encapsaulates the standard C locale functions for use by the <code class="computeroutput"><a class="link" href="basic_regex.html" title="Struct template basic_regex">basic_regex</a><></code> class template. </p> 31</div> 32<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> 33<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../xpressive/reference.html#header.boost.xpressive.xpressive_fwd_hpp" title="Header <boost/xpressive/xpressive_fwd.hpp>">boost/xpressive/xpressive_fwd.hpp</a>> 34 35</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Char<span class="special">></span> 36<span class="keyword">struct</span> <a class="link" href="c_regex_traits.html" title="Struct template c_regex_traits">c_regex_traits</a> <span class="special">{</span> 37 <span class="comment">// <a class="link" href="c_regex_traits.html#boost.xpressive.c_regex_traitsconstruct-copy-destruct">construct/copy/destruct</a></span> 38 <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_4-bb"><span class="identifier">c_regex_traits</span></a><span class="special">(</span><span class="identifier">locale_type</span> <span class="keyword">const</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">locale_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> 39 40 <span class="comment">// <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_3-bb">public member functions</a></span> 41 <span class="keyword">bool</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_3_1-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><a class="link" href="c_regex_traits.html" title="Struct template c_regex_traits">c_regex_traits</a><span class="special"><</span> <span class="identifier">char_type</span> <span class="special">></span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 42 <span class="keyword">bool</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_3_2-bb"><span class="keyword">operator</span> <span class="special">!=</span></a><span class="special">(</span><a class="link" href="c_regex_traits.html" title="Struct template c_regex_traits">c_regex_traits</a><span class="special"><</span> <span class="identifier">char_type</span> <span class="special">></span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 43 <span class="identifier">string_type</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_3_3-bb"><span class="identifier">fold_case</span></a><span class="special">(</span><span class="identifier">char_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 44 <span class="identifier">locale_type</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_3_4-bb"><span class="identifier">imbue</span></a><span class="special">(</span><span class="identifier">locale_type</span><span class="special">)</span><span class="special">;</span> 45 46 <span class="comment">// <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_5-bb">public static functions</a></span> 47 <span class="keyword">static</span> <span class="identifier">char_type</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_5_1-bb"><span class="identifier">widen</span></a><span class="special">(</span><span class="keyword">char</span><span class="special">)</span><span class="special">;</span> 48 <span class="keyword">static</span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_5_2-bb"><span class="identifier">hash</span></a><span class="special">(</span><span class="identifier">char_type</span><span class="special">)</span><span class="special">;</span> 49 <span class="keyword">static</span> <span class="identifier">char_type</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_5_3-bb"><span class="identifier">translate</span></a><span class="special">(</span><span class="identifier">char_type</span><span class="special">)</span><span class="special">;</span> 50 <span class="keyword">static</span> <span class="identifier">char_type</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_5_4-bb"><span class="identifier">translate_nocase</span></a><span class="special">(</span><span class="identifier">char_type</span><span class="special">)</span><span class="special">;</span> 51 <span class="keyword">static</span> <span class="identifier">char_type</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_5_5-bb"><span class="identifier">tolower</span></a><span class="special">(</span><span class="identifier">char_type</span><span class="special">)</span><span class="special">;</span> 52 <span class="keyword">static</span> <span class="identifier">char_type</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_5_6-bb"><span class="identifier">toupper</span></a><span class="special">(</span><span class="identifier">char_type</span><span class="special">)</span><span class="special">;</span> 53 <span class="keyword">static</span> <span class="keyword">bool</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_5_7-bb"><span class="identifier">in_range</span></a><span class="special">(</span><span class="identifier">char_type</span><span class="special">,</span> <span class="identifier">char_type</span><span class="special">,</span> <span class="identifier">char_type</span><span class="special">)</span><span class="special">;</span> 54 <span class="keyword">static</span> <span class="keyword">bool</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_5_8-bb"><span class="identifier">in_range_nocase</span></a><span class="special">(</span><span class="identifier">char_type</span><span class="special">,</span> <span class="identifier">char_type</span><span class="special">,</span> <span class="identifier">char_type</span><span class="special">)</span><span class="special">;</span> 55 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> FwdIter<span class="special">></span> <span class="keyword">static</span> <span class="identifier">string_type</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_5_9-bb"><span class="identifier">transform</span></a><span class="special">(</span><span class="identifier">FwdIter</span><span class="special">,</span> <span class="identifier">FwdIter</span><span class="special">)</span><span class="special">;</span> 56 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> FwdIter<span class="special">></span> 57 <span class="keyword">static</span> <span class="identifier">string_type</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_5_10-bb"><span class="identifier">transform_primary</span></a><span class="special">(</span><span class="identifier">FwdIter</span><span class="special">,</span> <span class="identifier">FwdIter</span><span class="special">)</span><span class="special">;</span> 58 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> FwdIter<span class="special">></span> 59 <span class="keyword">static</span> <span class="identifier">string_type</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_5_11-bb"><span class="identifier">lookup_collatename</span></a><span class="special">(</span><span class="identifier">FwdIter</span><span class="special">,</span> <span class="identifier">FwdIter</span><span class="special">)</span><span class="special">;</span> 60 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> FwdIter<span class="special">></span> 61 <span class="keyword">static</span> <span class="identifier">char_class_type</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_5_12-bb"><span class="identifier">lookup_classname</span></a><span class="special">(</span><span class="identifier">FwdIter</span><span class="special">,</span> <span class="identifier">FwdIter</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">)</span><span class="special">;</span> 62 <span class="keyword">static</span> <span class="keyword">bool</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_5_13-bb"><span class="identifier">isctype</span></a><span class="special">(</span><span class="identifier">char_type</span><span class="special">,</span> <span class="identifier">char_class_type</span><span class="special">)</span><span class="special">;</span> 63 <span class="keyword">static</span> <span class="keyword">int</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_5_14-bb"><span class="identifier">value</span></a><span class="special">(</span><span class="identifier">char_type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)</span><span class="special">;</span> 64 <span class="keyword">static</span> <span class="identifier">locale_type</span> <a class="link" href="c_regex_traits.html#id-1_3_47_5_18_2_1_2_5_15-bb"><span class="identifier">getloc</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> 65<span class="special">}</span><span class="special">;</span></pre></div> 66<div class="refsect1"> 67<a name="id-1.3.47.5.19.12.4"></a><h2>Description</h2> 68<div class="refsect2"> 69<a name="id-1.3.47.5.19.12.4.2"></a><h3> 70<a name="boost.xpressive.c_regex_traitsconstruct-copy-destruct"></a><code class="computeroutput">c_regex_traits</code> 71 public 72 construct/copy/destruct</h3> 73<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> 74<pre class="literallayout"><a name="id-1_3_47_5_18_2_1_2_4-bb"></a><span class="identifier">c_regex_traits</span><span class="special">(</span><span class="identifier">locale_type</span> <span class="keyword">const</span> <span class="special">&</span> loc <span class="special">=</span> <span class="identifier">locale_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre> 75<p>Initialize a <code class="computeroutput"><a class="link" href="c_regex_traits.html" title="Struct template c_regex_traits">c_regex_traits</a></code> object to use the global C locale. </p> 76</li></ol></div> 77</div> 78<div class="refsect2"> 79<a name="id-1.3.47.5.19.12.4.3"></a><h3> 80<a name="id-1_3_47_5_18_2_1_2_3-bb"></a><code class="computeroutput">c_regex_traits</code> public member functions</h3> 81<div class="orderedlist"><ol class="orderedlist" type="1"> 82<li class="listitem"> 83<pre class="literallayout"><span class="keyword">bool</span> <a name="id-1_3_47_5_18_2_1_2_3_1-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><a class="link" href="c_regex_traits.html" title="Struct template c_regex_traits">c_regex_traits</a><span class="special"><</span> <span class="identifier">char_type</span> <span class="special">></span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 84<p>Checks two <code class="computeroutput"><a class="link" href="c_regex_traits.html" title="Struct template c_regex_traits">c_regex_traits</a></code> objects for equality</p> 85<p> 86</p> 87<div class="variablelist"><table border="0" class="variablelist compact"> 88<colgroup> 89<col align="left" valign="top"> 90<col> 91</colgroup> 92<tbody><tr> 93<td><p><span class="term">Returns:</span></p></td> 94<td><p>true. </p></td> 95</tr></tbody> 96</table></div> 97</li> 98<li class="listitem"> 99<pre class="literallayout"><span class="keyword">bool</span> <a name="id-1_3_47_5_18_2_1_2_3_2-bb"></a><span class="keyword">operator</span> <span class="special">!=</span><span class="special">(</span><a class="link" href="c_regex_traits.html" title="Struct template c_regex_traits">c_regex_traits</a><span class="special"><</span> <span class="identifier">char_type</span> <span class="special">></span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 100<p>Checks two <code class="computeroutput"><a class="link" href="c_regex_traits.html" title="Struct template c_regex_traits">c_regex_traits</a></code> objects for inequality</p> 101<p> 102</p> 103<div class="variablelist"><table border="0" class="variablelist compact"> 104<colgroup> 105<col align="left" valign="top"> 106<col> 107</colgroup> 108<tbody><tr> 109<td><p><span class="term">Returns:</span></p></td> 110<td><p>false. </p></td> 111</tr></tbody> 112</table></div> 113</li> 114<li class="listitem"> 115<pre class="literallayout"><span class="identifier">string_type</span> <a name="id-1_3_47_5_18_2_1_2_3_3-bb"></a><span class="identifier">fold_case</span><span class="special">(</span><span class="identifier">char_type</span> ch<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 116<p>Returns a <code class="computeroutput">string_type</code> containing all the characters that compare equal disregrarding case to the one passed in. This function can only be called if <code class="computeroutput"><code class="computeroutput"><a class="link" href="has_fold_case.html" title="Struct template has_fold_case">has_fold_case</a></code><<code class="computeroutput"><a class="link" href="c_regex_traits.html" title="Struct template c_regex_traits">c_regex_traits</a></code><Char> >::value</code> is <code class="computeroutput">true</code>.</p> 117<p> 118 119</p> 120<div class="variablelist"><table border="0" class="variablelist compact"> 121<colgroup> 122<col align="left" valign="top"> 123<col> 124</colgroup> 125<tbody> 126<tr> 127<td><p><span class="term">Parameters:</span></p></td> 128<td><div class="variablelist"><table border="0" class="variablelist compact"> 129<colgroup> 130<col align="left" valign="top"> 131<col> 132</colgroup> 133<tbody><tr> 134<td><p><span class="term"><code class="computeroutput">ch</code></span></p></td> 135<td><p>The source character. </p></td> 136</tr></tbody> 137</table></div></td> 138</tr> 139<tr> 140<td><p><span class="term">Returns:</span></p></td> 141<td><p><code class="computeroutput">string_type</code> containing all chars which are equal to <code class="computeroutput">ch</code> when disregarding case </p></td> 142</tr> 143</tbody> 144</table></div> 145</li> 146<li class="listitem"> 147<pre class="literallayout"><span class="identifier">locale_type</span> <a name="id-1_3_47_5_18_2_1_2_3_4-bb"></a><span class="identifier">imbue</span><span class="special">(</span><span class="identifier">locale_type</span> loc<span class="special">)</span><span class="special">;</span></pre> 148<p>No-op </p> 149</li> 150</ol></div> 151</div> 152<div class="refsect2"> 153<a name="id-1.3.47.5.19.12.4.4"></a><h3> 154<a name="id-1_3_47_5_18_2_1_2_5-bb"></a><code class="computeroutput">c_regex_traits</code> public static functions</h3> 155<div class="orderedlist"><ol class="orderedlist" type="1"> 156<li class="listitem"> 157<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">char_type</span> <a name="id-1_3_47_5_18_2_1_2_5_1-bb"></a><span class="identifier">widen</span><span class="special">(</span><span class="keyword">char</span> ch<span class="special">)</span><span class="special">;</span></pre> 158<p>Convert a char to a Char</p> 159<p> 160 161</p> 162<div class="variablelist"><table border="0" class="variablelist compact"> 163<colgroup> 164<col align="left" valign="top"> 165<col> 166</colgroup> 167<tbody> 168<tr> 169<td><p><span class="term">Parameters:</span></p></td> 170<td><div class="variablelist"><table border="0" class="variablelist compact"> 171<colgroup> 172<col align="left" valign="top"> 173<col> 174</colgroup> 175<tbody><tr> 176<td><p><span class="term"><code class="computeroutput">ch</code></span></p></td> 177<td><p>The source character. </p></td> 178</tr></tbody> 179</table></div></td> 180</tr> 181<tr> 182<td><p><span class="term">Returns:</span></p></td> 183<td><p>ch if Char is char, std::btowc(ch) if Char is wchar_t. </p></td> 184</tr> 185</tbody> 186</table></div> 187</li> 188<li class="listitem"> 189<pre class="literallayout"><span class="keyword">static</span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <a name="id-1_3_47_5_18_2_1_2_5_2-bb"></a><span class="identifier">hash</span><span class="special">(</span><span class="identifier">char_type</span> ch<span class="special">)</span><span class="special">;</span></pre> 190<p>Returns a hash value for a Char in the range [0, UCHAR_MAX]</p> 191<p> 192 193</p> 194<div class="variablelist"><table border="0" class="variablelist compact"> 195<colgroup> 196<col align="left" valign="top"> 197<col> 198</colgroup> 199<tbody> 200<tr> 201<td><p><span class="term">Parameters:</span></p></td> 202<td><div class="variablelist"><table border="0" class="variablelist compact"> 203<colgroup> 204<col align="left" valign="top"> 205<col> 206</colgroup> 207<tbody><tr> 208<td><p><span class="term"><code class="computeroutput">ch</code></span></p></td> 209<td><p>The source character. </p></td> 210</tr></tbody> 211</table></div></td> 212</tr> 213<tr> 214<td><p><span class="term">Returns:</span></p></td> 215<td><p>a value between 0 and UCHAR_MAX, inclusive. </p></td> 216</tr> 217</tbody> 218</table></div> 219</li> 220<li class="listitem"> 221<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">char_type</span> <a name="id-1_3_47_5_18_2_1_2_5_3-bb"></a><span class="identifier">translate</span><span class="special">(</span><span class="identifier">char_type</span> ch<span class="special">)</span><span class="special">;</span></pre> 222<p>No-op</p> 223<p> 224 225</p> 226<div class="variablelist"><table border="0" class="variablelist compact"> 227<colgroup> 228<col align="left" valign="top"> 229<col> 230</colgroup> 231<tbody> 232<tr> 233<td><p><span class="term">Parameters:</span></p></td> 234<td><div class="variablelist"><table border="0" class="variablelist compact"> 235<colgroup> 236<col align="left" valign="top"> 237<col> 238</colgroup> 239<tbody><tr> 240<td><p><span class="term"><code class="computeroutput">ch</code></span></p></td> 241<td><p>The source character. </p></td> 242</tr></tbody> 243</table></div></td> 244</tr> 245<tr> 246<td><p><span class="term">Returns:</span></p></td> 247<td><p>ch </p></td> 248</tr> 249</tbody> 250</table></div> 251</li> 252<li class="listitem"> 253<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">char_type</span> <a name="id-1_3_47_5_18_2_1_2_5_4-bb"></a><span class="identifier">translate_nocase</span><span class="special">(</span><span class="identifier">char_type</span> ch<span class="special">)</span><span class="special">;</span></pre> 254<p>Converts a character to lower-case using the current global C locale.</p> 255<p> 256 257</p> 258<div class="variablelist"><table border="0" class="variablelist compact"> 259<colgroup> 260<col align="left" valign="top"> 261<col> 262</colgroup> 263<tbody> 264<tr> 265<td><p><span class="term">Parameters:</span></p></td> 266<td><div class="variablelist"><table border="0" class="variablelist compact"> 267<colgroup> 268<col align="left" valign="top"> 269<col> 270</colgroup> 271<tbody><tr> 272<td><p><span class="term"><code class="computeroutput">ch</code></span></p></td> 273<td><p>The source character. </p></td> 274</tr></tbody> 275</table></div></td> 276</tr> 277<tr> 278<td><p><span class="term">Returns:</span></p></td> 279<td><p>std::tolower(ch) if Char is char, std::towlower(ch) if Char is wchar_t. </p></td> 280</tr> 281</tbody> 282</table></div> 283</li> 284<li class="listitem"> 285<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">char_type</span> <a name="id-1_3_47_5_18_2_1_2_5_5-bb"></a><span class="identifier">tolower</span><span class="special">(</span><span class="identifier">char_type</span> ch<span class="special">)</span><span class="special">;</span></pre> 286<p>Converts a character to lower-case using the current global C locale.</p> 287<p> 288 289</p> 290<div class="variablelist"><table border="0" class="variablelist compact"> 291<colgroup> 292<col align="left" valign="top"> 293<col> 294</colgroup> 295<tbody> 296<tr> 297<td><p><span class="term">Parameters:</span></p></td> 298<td><div class="variablelist"><table border="0" class="variablelist compact"> 299<colgroup> 300<col align="left" valign="top"> 301<col> 302</colgroup> 303<tbody><tr> 304<td><p><span class="term"><code class="computeroutput">ch</code></span></p></td> 305<td><p>The source character. </p></td> 306</tr></tbody> 307</table></div></td> 308</tr> 309<tr> 310<td><p><span class="term">Returns:</span></p></td> 311<td><p>std::tolower(ch) if Char is char, std::towlower(ch) if Char is wchar_t. </p></td> 312</tr> 313</tbody> 314</table></div> 315</li> 316<li class="listitem"> 317<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">char_type</span> <a name="id-1_3_47_5_18_2_1_2_5_6-bb"></a><span class="identifier">toupper</span><span class="special">(</span><span class="identifier">char_type</span> ch<span class="special">)</span><span class="special">;</span></pre> 318<p>Converts a character to upper-case using the current global C locale.</p> 319<p> 320 321</p> 322<div class="variablelist"><table border="0" class="variablelist compact"> 323<colgroup> 324<col align="left" valign="top"> 325<col> 326</colgroup> 327<tbody> 328<tr> 329<td><p><span class="term">Parameters:</span></p></td> 330<td><div class="variablelist"><table border="0" class="variablelist compact"> 331<colgroup> 332<col align="left" valign="top"> 333<col> 334</colgroup> 335<tbody><tr> 336<td><p><span class="term"><code class="computeroutput">ch</code></span></p></td> 337<td><p>The source character. </p></td> 338</tr></tbody> 339</table></div></td> 340</tr> 341<tr> 342<td><p><span class="term">Returns:</span></p></td> 343<td><p>std::toupper(ch) if Char is char, std::towupper(ch) if Char is wchar_t. </p></td> 344</tr> 345</tbody> 346</table></div> 347</li> 348<li class="listitem"> 349<pre class="literallayout"><span class="keyword">static</span> <span class="keyword">bool</span> <a name="id-1_3_47_5_18_2_1_2_5_7-bb"></a><span class="identifier">in_range</span><span class="special">(</span><span class="identifier">char_type</span> first<span class="special">,</span> <span class="identifier">char_type</span> last<span class="special">,</span> <span class="identifier">char_type</span> ch<span class="special">)</span><span class="special">;</span></pre> 350<p>Checks to see if a character is within a character range.</p> 351<p> 352 353</p> 354<div class="variablelist"><table border="0" class="variablelist compact"> 355<colgroup> 356<col align="left" valign="top"> 357<col> 358</colgroup> 359<tbody> 360<tr> 361<td><p><span class="term">Parameters:</span></p></td> 362<td><div class="variablelist"><table border="0" class="variablelist compact"> 363<colgroup> 364<col align="left" valign="top"> 365<col> 366</colgroup> 367<tbody> 368<tr> 369<td><p><span class="term"><code class="computeroutput">ch</code></span></p></td> 370<td><p>The source character. </p></td> 371</tr> 372<tr> 373<td><p><span class="term"><code class="computeroutput">first</code></span></p></td> 374<td><p>The bottom of the range, inclusive. </p></td> 375</tr> 376<tr> 377<td><p><span class="term"><code class="computeroutput">last</code></span></p></td> 378<td><p>The top of the range, inclusive. </p></td> 379</tr> 380</tbody> 381</table></div></td> 382</tr> 383<tr> 384<td><p><span class="term">Returns:</span></p></td> 385<td><p>first <= ch && ch <= last. </p></td> 386</tr> 387</tbody> 388</table></div> 389</li> 390<li class="listitem"> 391<pre class="literallayout"><span class="keyword">static</span> <span class="keyword">bool</span> <a name="id-1_3_47_5_18_2_1_2_5_8-bb"></a><span class="identifier">in_range_nocase</span><span class="special">(</span><span class="identifier">char_type</span> first<span class="special">,</span> <span class="identifier">char_type</span> last<span class="special">,</span> <span class="identifier">char_type</span> ch<span class="special">)</span><span class="special">;</span></pre> 392<p>Checks to see if a character is within a character range, irregardless of case.</p> 393<p> 394 395</p> 396<div class="note"><table border="0" summary="Note"> 397<tr> 398<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../doc/src/images/note.png"></td> 399<th align="left">Note</th> 400</tr> 401<tr><td align="left" valign="top"><p>The default implementation doesn't do proper Unicode case folding, but this is the best we can do with the standard C locale functions. </p></td></tr> 402</table></div> 403<p> 404</p> 405<div class="variablelist"><table border="0" class="variablelist compact"> 406<colgroup> 407<col align="left" valign="top"> 408<col> 409</colgroup> 410<tbody> 411<tr> 412<td><p><span class="term">Parameters:</span></p></td> 413<td><div class="variablelist"><table border="0" class="variablelist compact"> 414<colgroup> 415<col align="left" valign="top"> 416<col> 417</colgroup> 418<tbody> 419<tr> 420<td><p><span class="term"><code class="computeroutput">ch</code></span></p></td> 421<td><p>The source character. </p></td> 422</tr> 423<tr> 424<td><p><span class="term"><code class="computeroutput">first</code></span></p></td> 425<td><p>The bottom of the range, inclusive. </p></td> 426</tr> 427<tr> 428<td><p><span class="term"><code class="computeroutput">last</code></span></p></td> 429<td><p>The top of the range, inclusive. </p></td> 430</tr> 431</tbody> 432</table></div></td> 433</tr> 434<tr> 435<td><p><span class="term">Returns:</span></p></td> 436<td><p>in_range(first, last, ch) || in_range(first, last, tolower(ch)) || in_range(first, last, toupper(ch)) </p></td> 437</tr> 438</tbody> 439</table></div> 440</li> 441<li class="listitem"> 442<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> FwdIter<span class="special">></span> 443 <span class="keyword">static</span> <span class="identifier">string_type</span> <a name="id-1_3_47_5_18_2_1_2_5_9-bb"></a><span class="identifier">transform</span><span class="special">(</span><span class="identifier">FwdIter</span> begin<span class="special">,</span> <span class="identifier">FwdIter</span> end<span class="special">)</span><span class="special">;</span></pre> 444<p>Returns a sort key for the character sequence designated by the iterator range [F1, F2) such that if the character sequence [G1, G2) sorts before the character sequence [H1, H2) then v.transform(G1, G2) < v.transform(H1, H2).</p> 445<div class="note"><table border="0" summary="Note"> 446<tr> 447<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../doc/src/images/note.png"></td> 448<th align="left">Note</th> 449</tr> 450<tr><td align="left" valign="top"><p>Not currently used </p></td></tr> 451</table></div> 452<p> 453</p> 454</li> 455<li class="listitem"> 456<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> FwdIter<span class="special">></span> 457 <span class="keyword">static</span> <span class="identifier">string_type</span> <a name="id-1_3_47_5_18_2_1_2_5_10-bb"></a><span class="identifier">transform_primary</span><span class="special">(</span><span class="identifier">FwdIter</span> begin<span class="special">,</span> <span class="identifier">FwdIter</span> end<span class="special">)</span><span class="special">;</span></pre> 458<p>Returns a sort key for the character sequence designated by the iterator range [F1, F2) such that if the character sequence [G1, G2) sorts before the character sequence [H1, H2) when character case is not considered then v.transform_primary(G1, G2) < v.transform_primary(H1, H2).</p> 459<div class="note"><table border="0" summary="Note"> 460<tr> 461<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../doc/src/images/note.png"></td> 462<th align="left">Note</th> 463</tr> 464<tr><td align="left" valign="top"><p>Not currently used </p></td></tr> 465</table></div> 466<p> 467</p> 468</li> 469<li class="listitem"> 470<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> FwdIter<span class="special">></span> 471 <span class="keyword">static</span> <span class="identifier">string_type</span> <a name="id-1_3_47_5_18_2_1_2_5_11-bb"></a><span class="identifier">lookup_collatename</span><span class="special">(</span><span class="identifier">FwdIter</span> begin<span class="special">,</span> <span class="identifier">FwdIter</span> end<span class="special">)</span><span class="special">;</span></pre> 472<p>Returns a sequence of characters that represents the collating element consisting of the character sequence designated by the iterator range [F1, F2). Returns an empty string if the character sequence is not a valid collating element.</p> 473<div class="note"><table border="0" summary="Note"> 474<tr> 475<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../doc/src/images/note.png"></td> 476<th align="left">Note</th> 477</tr> 478<tr><td align="left" valign="top"><p>Not currently used </p></td></tr> 479</table></div> 480<p> 481</p> 482</li> 483<li class="listitem"> 484<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> FwdIter<span class="special">></span> 485 <span class="keyword">static</span> <span class="identifier">char_class_type</span> 486 <a name="id-1_3_47_5_18_2_1_2_5_12-bb"></a><span class="identifier">lookup_classname</span><span class="special">(</span><span class="identifier">FwdIter</span> begin<span class="special">,</span> <span class="identifier">FwdIter</span> end<span class="special">,</span> <span class="keyword">bool</span> icase<span class="special">)</span><span class="special">;</span></pre> 487<p>For the character class name represented by the specified character sequence, return the corresponding bitmask representation.</p> 488<p> 489 490</p> 491<div class="variablelist"><table border="0" class="variablelist compact"> 492<colgroup> 493<col align="left" valign="top"> 494<col> 495</colgroup> 496<tbody> 497<tr> 498<td><p><span class="term">Parameters:</span></p></td> 499<td><div class="variablelist"><table border="0" class="variablelist compact"> 500<colgroup> 501<col align="left" valign="top"> 502<col> 503</colgroup> 504<tbody> 505<tr> 506<td><p><span class="term"><code class="computeroutput">begin</code></span></p></td> 507<td><p>A forward iterator to the start of the character sequence representing the name of the character class. </p></td> 508</tr> 509<tr> 510<td><p><span class="term"><code class="computeroutput">end</code></span></p></td> 511<td><p>The end of the character sequence. </p></td> 512</tr> 513<tr> 514<td><p><span class="term"><code class="computeroutput">icase</code></span></p></td> 515<td><p>Specifies whether the returned bitmask should represent the case-insensitive version of the character class. </p></td> 516</tr> 517</tbody> 518</table></div></td> 519</tr> 520<tr> 521<td><p><span class="term">Returns:</span></p></td> 522<td><p>A bitmask representing the character class. </p></td> 523</tr> 524</tbody> 525</table></div> 526</li> 527<li class="listitem"> 528<pre class="literallayout"><span class="keyword">static</span> <span class="keyword">bool</span> <a name="id-1_3_47_5_18_2_1_2_5_13-bb"></a><span class="identifier">isctype</span><span class="special">(</span><span class="identifier">char_type</span> ch<span class="special">,</span> <span class="identifier">char_class_type</span> mask<span class="special">)</span><span class="special">;</span></pre> 529<p>Tests a character against a character class bitmask.</p> 530<p> 531 532 533</p> 534<div class="variablelist"><table border="0" class="variablelist compact"> 535<colgroup> 536<col align="left" valign="top"> 537<col> 538</colgroup> 539<tbody> 540<tr> 541<td><p><span class="term">Parameters:</span></p></td> 542<td><div class="variablelist"><table border="0" class="variablelist compact"> 543<colgroup> 544<col align="left" valign="top"> 545<col> 546</colgroup> 547<tbody> 548<tr> 549<td><p><span class="term"><code class="computeroutput">ch</code></span></p></td> 550<td><p>The character to test. </p></td> 551</tr> 552<tr> 553<td><p><span class="term"><code class="computeroutput">mask</code></span></p></td> 554<td><p>The character class bitmask against which to test. </p></td> 555</tr> 556</tbody> 557</table></div></td> 558</tr> 559<tr> 560<td><p><span class="term">Requires:</span></p></td> 561<td><p>mask is a bitmask returned by lookup_classname, or is several such masks bit-or'ed together. </p></td> 562</tr> 563<tr> 564<td><p><span class="term">Returns:</span></p></td> 565<td><p>true if the character is a member of any of the specified character classes, false otherwise. </p></td> 566</tr> 567</tbody> 568</table></div> 569</li> 570<li class="listitem"> 571<pre class="literallayout"><span class="keyword">static</span> <span class="keyword">int</span> <a name="id-1_3_47_5_18_2_1_2_5_14-bb"></a><span class="identifier">value</span><span class="special">(</span><span class="identifier">char_type</span> ch<span class="special">,</span> <span class="keyword">int</span> radix<span class="special">)</span><span class="special">;</span></pre> 572<p>Convert a digit character into the integer it represents.</p> 573<p> 574 575 576</p> 577<div class="variablelist"><table border="0" class="variablelist compact"> 578<colgroup> 579<col align="left" valign="top"> 580<col> 581</colgroup> 582<tbody> 583<tr> 584<td><p><span class="term">Parameters:</span></p></td> 585<td><div class="variablelist"><table border="0" class="variablelist compact"> 586<colgroup> 587<col align="left" valign="top"> 588<col> 589</colgroup> 590<tbody> 591<tr> 592<td><p><span class="term"><code class="computeroutput">ch</code></span></p></td> 593<td><p>The digit character. </p></td> 594</tr> 595<tr> 596<td><p><span class="term"><code class="computeroutput">radix</code></span></p></td> 597<td><p>The radix to use for the conversion. </p></td> 598</tr> 599</tbody> 600</table></div></td> 601</tr> 602<tr> 603<td><p><span class="term">Requires:</span></p></td> 604<td><p>radix is one of 8, 10, or 16. </p></td> 605</tr> 606<tr> 607<td><p><span class="term">Returns:</span></p></td> 608<td><p>-1 if ch is not a digit character, the integer value of the character otherwise. If char_type is char, std::strtol is used for the conversion. If char_type is wchar_t, std::wcstol is used. </p></td> 609</tr> 610</tbody> 611</table></div> 612</li> 613<li class="listitem"> 614<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">locale_type</span> <a name="id-1_3_47_5_18_2_1_2_5_15-bb"></a><span class="identifier">getloc</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre> 615<p>No-op </p> 616</li> 617</ol></div> 618</div> 619</div> 620</div> 621<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 622<td align="left"></td> 623<td align="right"><div class="copyright-footer">Copyright © 2007 Eric Niebler<p> 624 Distributed under the Boost Software License, Version 1.0. (See accompanying 625 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) 626 </p> 627</div></td> 628</tr></table> 629<hr> 630<div class="spirit-nav"> 631<a accesskey="p" href="basic_regex.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../xpressive/reference.html#header.boost.xpressive.xpressive_fwd_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="compiler_traits.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> 632</div> 633</body> 634</html> 635