• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 &lt;boost/xpressive/xpressive_fwd.hpp&gt;">
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>&lt;&gt;</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: &lt;<a class="link" href="../../xpressive/reference.html#header.boost.xpressive.xpressive_fwd_hpp" title="Header &lt;boost/xpressive/xpressive_fwd.hpp&gt;">boost/xpressive/xpressive_fwd.hpp</a>&gt;
34
35</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Char<span class="special">&gt;</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">&amp;</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">&lt;</span> <span class="identifier">char_type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</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">&lt;</span> <span class="identifier">char_type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</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">&lt;</span><span class="keyword">typename</span> FwdIter<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> FwdIter<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> FwdIter<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> FwdIter<span class="special">&gt;</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">&amp;</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">&lt;</span> <span class="identifier">char_type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</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">&lt;</span> <span class="identifier">char_type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</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>&lt;<code class="computeroutput"><a class="link" href="c_regex_traits.html" title="Struct template c_regex_traits">c_regex_traits</a></code>&lt;Char&gt; &gt;::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 &lt;= ch &amp;&amp; ch &lt;= 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">&lt;</span><span class="keyword">typename</span> FwdIter<span class="special">&gt;</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) &lt; 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">&lt;</span><span class="keyword">typename</span> FwdIter<span class="special">&gt;</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) &lt; 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">&lt;</span><span class="keyword">typename</span> FwdIter<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> FwdIter<span class="special">&gt;</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