1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
5 <title>Struct template cpp_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="has_fold_case_idp785137632.html" title="Struct has_fold_case<cpp_regex_traits< char >>">
11 <link rel="next" href="c_regex_traits.html" title="Struct template c_regex_traits">
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>
23 <div class="spirit-nav">
24 <a accesskey="p" href="has_fold_case_idp785137632.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="c_regex_traits.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
26 <div class="refentry">
27 <a name="boost.xpressive.cpp_regex_traits"></a><div class="titlepage"></div>
28 <div class="refnamediv">
29 <h2><span class="refentrytitle">Struct template cpp_regex_traits</span></h2>
30 <p>boost::xpressive::cpp_regex_traits — Encapsaulates a <code class="computeroutput">std::locale</code> 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>
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>>
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="cpp_regex_traits.html" title="Struct template cpp_regex_traits">cpp_regex_traits</a> <span class="special">{</span>
37 <span class="comment">// <a class="link" href="cpp_regex_traits.html#boost.xpressive.cpp_regex_traitsconstruct-copy-destruct">construct/copy/destruct</a></span>
38 <a class="link" href="cpp_regex_traits.html#idp785224080-bb"><span class="identifier">cpp_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>
40 <span class="comment">// <a class="link" href="cpp_regex_traits.html#idp785150000-bb">public member functions</a></span>
41 <span class="keyword">bool</span> <a class="link" href="cpp_regex_traits.html#idp785150560-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><a class="link" href="cpp_regex_traits.html" title="Struct template cpp_regex_traits">cpp_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="cpp_regex_traits.html#idp785154528-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><a class="link" href="cpp_regex_traits.html" title="Struct template cpp_regex_traits">cpp_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">char_type</span> <a class="link" href="cpp_regex_traits.html#idp785158496-bb"><span class="identifier">widen</span></a><span class="special">(</span><span class="keyword">char</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
44 <span class="identifier">char_type</span> <a class="link" href="cpp_regex_traits.html#idp785161904-bb"><span class="identifier">translate_nocase</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>
45 <span class="identifier">char_type</span> <a class="link" href="cpp_regex_traits.html#idp785165328-bb"><span class="identifier">tolower</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>
46 <span class="identifier">char_type</span> <a class="link" href="cpp_regex_traits.html#idp785168752-bb"><span class="identifier">toupper</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>
47 <span class="identifier">string_type</span> <a class="link" href="cpp_regex_traits.html#idp785172176-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>
48 <span class="keyword">bool</span> <a class="link" href="cpp_regex_traits.html#idp785179072-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="keyword">const</span><span class="special">;</span>
49 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> FwdIter<span class="special">></span>
50 <span class="identifier">string_type</span> <a class="link" href="cpp_regex_traits.html#idp785185520-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="keyword">const</span><span class="special">;</span>
51 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> FwdIter<span class="special">></span>
52 <span class="identifier">string_type</span> <a class="link" href="cpp_regex_traits.html#idp785190240-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="keyword">const</span><span class="special">;</span>
53 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> FwdIter<span class="special">></span>
54 <span class="identifier">char_class_type</span> <a class="link" href="cpp_regex_traits.html#idp785194928-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="keyword">const</span><span class="special">;</span>
55 <span class="keyword">bool</span> <a class="link" href="cpp_regex_traits.html#idp785201680-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="keyword">const</span><span class="special">;</span>
56 <span class="keyword">int</span> <a class="link" href="cpp_regex_traits.html#idp785206768-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="keyword">const</span><span class="special">;</span>
57 <span class="identifier">locale_type</span> <a class="link" href="cpp_regex_traits.html#idp785211952-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>
58 <span class="identifier">locale_type</span> <a class="link" href="cpp_regex_traits.html#idp785215056-bb"><span class="identifier">getloc</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
59 <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <a class="link" href="cpp_regex_traits.html#idp785216624-bb"><span class="identifier">hash</span></a><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">)</span><span class="special">;</span>
60 <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <a class="link" href="cpp_regex_traits.html#idp785218448-bb"><span class="identifier">hash</span></a><span class="special">(</span><span class="keyword">char</span><span class="special">)</span><span class="special">;</span>
61 <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <a class="link" href="cpp_regex_traits.html#idp785220272-bb"><span class="identifier">hash</span></a><span class="special">(</span><span class="keyword">signed</span> <span class="keyword">char</span><span class="special">)</span><span class="special">;</span>
62 <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <a class="link" href="cpp_regex_traits.html#idp785222096-bb"><span class="identifier">hash</span></a><span class="special">(</span><span class="keyword">wchar_t</span><span class="special">)</span><span class="special">;</span>
64 <span class="comment">// <a class="link" href="cpp_regex_traits.html#idp785226576-bb">public static functions</a></span>
65 <span class="keyword">static</span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <a class="link" href="cpp_regex_traits.html#idp785227136-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>
66 <span class="keyword">static</span> <span class="identifier">char_type</span> <a class="link" href="cpp_regex_traits.html#idp785230560-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>
67 <span class="keyword">static</span> <span class="keyword">bool</span> <a class="link" href="cpp_regex_traits.html#idp785233904-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>
68 <span class="special">}</span><span class="special">;</span></pre></div>
69 <div class="refsect1">
70 <a name="idp632422432"></a><h2>Description</h2>
71 <div class="refsect2">
72 <a name="idp632422848"></a><h3>
73 <a name="boost.xpressive.cpp_regex_traitsconstruct-copy-destruct"></a><code class="computeroutput">cpp_regex_traits</code>
75 construct/copy/destruct</h3>
76 <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
77 <pre class="literallayout"><a name="idp785224080-bb"></a><span class="identifier">cpp_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>
78 <p>Initialize a <code class="computeroutput"><a class="link" href="cpp_regex_traits.html" title="Struct template cpp_regex_traits">cpp_regex_traits</a></code> object to use the specified std::locale, or the global std::locale if none is specified. </p>
81 <div class="refsect2">
82 <a name="idp632434832"></a><h3>
83 <a name="idp785150000-bb"></a><code class="computeroutput">cpp_regex_traits</code> public member functions</h3>
84 <div class="orderedlist"><ol class="orderedlist" type="1">
86 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp785150560-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><a class="link" href="cpp_regex_traits.html" title="Struct template cpp_regex_traits">cpp_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> that<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
87 <p>Checks two <code class="computeroutput"><a class="link" href="cpp_regex_traits.html" title="Struct template cpp_regex_traits">cpp_regex_traits</a></code> objects for equality</p>
90 <div class="variablelist"><table border="0" class="variablelist compact">
92 <col align="left" valign="top">
96 <td><p><span class="term">Returns:</span></p></td>
97 <td><p>this->getloc() == that.getloc(). </p></td>
101 <li class="listitem">
102 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp785154528-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><a class="link" href="cpp_regex_traits.html" title="Struct template cpp_regex_traits">cpp_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> that<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
103 <p>Checks two <code class="computeroutput"><a class="link" href="cpp_regex_traits.html" title="Struct template cpp_regex_traits">cpp_regex_traits</a></code> objects for inequality</p>
106 <div class="variablelist"><table border="0" class="variablelist compact">
108 <col align="left" valign="top">
112 <td><p><span class="term">Returns:</span></p></td>
113 <td><p>this->getloc() != that.getloc(). </p></td>
117 <li class="listitem">
118 <pre class="literallayout"><span class="identifier">char_type</span> <a name="idp785158496-bb"></a><span class="identifier">widen</span><span class="special">(</span><span class="keyword">char</span> ch<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
119 <p>Convert a char to a Char</p>
123 <div class="variablelist"><table border="0" class="variablelist compact">
125 <col align="left" valign="top">
130 <td><p><span class="term">Parameters:</span></p></td>
131 <td><div class="variablelist"><table border="0" class="variablelist compact">
133 <col align="left" valign="top">
137 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
138 <td><p>The source character. </p></td>
143 <td><p><span class="term">Returns:</span></p></td>
144 <td><p>std::use_facet<std::ctype<char_type> >(this->getloc()).widen(ch). </p></td>
149 <li class="listitem">
150 <pre class="literallayout"><span class="identifier">char_type</span> <a name="idp785161904-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="keyword">const</span><span class="special">;</span></pre>
151 <p>Converts a character to lower-case using the internally-stored std::locale.</p>
155 <div class="variablelist"><table border="0" class="variablelist compact">
157 <col align="left" valign="top">
162 <td><p><span class="term">Parameters:</span></p></td>
163 <td><div class="variablelist"><table border="0" class="variablelist compact">
165 <col align="left" valign="top">
169 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
170 <td><p>The source character. </p></td>
175 <td><p><span class="term">Returns:</span></p></td>
176 <td><p>std::tolower(ch, this->getloc()). </p></td>
181 <li class="listitem">
182 <pre class="literallayout"><span class="identifier">char_type</span> <a name="idp785165328-bb"></a><span class="identifier">tolower</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>
183 <p>Converts a character to lower-case using the internally-stored std::locale.</p>
187 <div class="variablelist"><table border="0" class="variablelist compact">
189 <col align="left" valign="top">
194 <td><p><span class="term">Parameters:</span></p></td>
195 <td><div class="variablelist"><table border="0" class="variablelist compact">
197 <col align="left" valign="top">
201 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
202 <td><p>The source character. </p></td>
207 <td><p><span class="term">Returns:</span></p></td>
208 <td><p>std::tolower(ch, this->getloc()). </p></td>
213 <li class="listitem">
214 <pre class="literallayout"><span class="identifier">char_type</span> <a name="idp785168752-bb"></a><span class="identifier">toupper</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>
215 <p>Converts a character to upper-case using the internally-stored std::locale.</p>
219 <div class="variablelist"><table border="0" class="variablelist compact">
221 <col align="left" valign="top">
226 <td><p><span class="term">Parameters:</span></p></td>
227 <td><div class="variablelist"><table border="0" class="variablelist compact">
229 <col align="left" valign="top">
233 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
234 <td><p>The source character. </p></td>
239 <td><p><span class="term">Returns:</span></p></td>
240 <td><p>std::toupper(ch, this->getloc()). </p></td>
245 <li class="listitem">
246 <pre class="literallayout"><span class="identifier">string_type</span> <a name="idp785172176-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>
247 <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="cpp_regex_traits.html" title="Struct template cpp_regex_traits">cpp_regex_traits</a></code><Char> >::value</code> is <code class="computeroutput">true</code>.</p>
251 <div class="variablelist"><table border="0" class="variablelist compact">
253 <col align="left" valign="top">
258 <td><p><span class="term">Parameters:</span></p></td>
259 <td><div class="variablelist"><table border="0" class="variablelist compact">
261 <col align="left" valign="top">
265 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
266 <td><p>The source character. </p></td>
271 <td><p><span class="term">Returns:</span></p></td>
272 <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>
277 <li class="listitem">
278 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp785179072-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="keyword">const</span><span class="special">;</span></pre>
279 <p>Checks to see if a character is within a character range, irregardless of case.</p>
283 <div class="note"><table border="0" summary="Note">
285 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../doc/src/images/note.png"></td>
286 <th align="left">Note</th>
288 <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 ctype facet. </p></td></tr>
292 <div class="variablelist"><table border="0" class="variablelist compact">
294 <col align="left" valign="top">
299 <td><p><span class="term">Parameters:</span></p></td>
300 <td><div class="variablelist"><table border="0" class="variablelist compact">
302 <col align="left" valign="top">
307 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
308 <td><p>The source character. </p></td>
311 <td><p><span class="term"><code class="computeroutput">first</code></span></p></td>
312 <td><p>The bottom of the range, inclusive. </p></td>
315 <td><p><span class="term"><code class="computeroutput">last</code></span></p></td>
316 <td><p>The top of the range, inclusive. </p></td>
322 <td><p><span class="term">Returns:</span></p></td>
323 <td><p>in_range(first, last, ch) || in_range(first, last, tolower(ch, this->getloc())) || in_range(first, last, toupper(ch, this->getloc())) </p></td>
328 <li class="listitem">
329 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> FwdIter<span class="special">></span>
330 <span class="identifier">string_type</span> <a name="idp785185520-bb"></a><span class="identifier">transform_primary</span><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">const</span><span class="special">;</span></pre>
331 <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>
332 <div class="note"><table border="0" summary="Note">
334 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../doc/src/images/note.png"></td>
335 <th align="left">Note</th>
337 <tr><td align="left" valign="top"><p>Not currently used </p></td></tr>
342 <li class="listitem">
343 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> FwdIter<span class="special">></span>
344 <span class="identifier">string_type</span> <a name="idp785190240-bb"></a><span class="identifier">lookup_collatename</span><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">const</span><span class="special">;</span></pre>
345 <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>
346 <div class="note"><table border="0" summary="Note">
348 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../doc/src/images/note.png"></td>
349 <th align="left">Note</th>
351 <tr><td align="left" valign="top"><p>Not currently used </p></td></tr>
356 <li class="listitem">
357 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> FwdIter<span class="special">></span>
358 <span class="identifier">char_class_type</span>
359 <a name="idp785194928-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="keyword">const</span><span class="special">;</span></pre>
360 <p>For the character class name represented by the specified character sequence, return the corresponding bitmask representation.</p>
364 <div class="variablelist"><table border="0" class="variablelist compact">
366 <col align="left" valign="top">
371 <td><p><span class="term">Parameters:</span></p></td>
372 <td><div class="variablelist"><table border="0" class="variablelist compact">
374 <col align="left" valign="top">
379 <td><p><span class="term"><code class="computeroutput">begin</code></span></p></td>
380 <td><p>A forward iterator to the start of the character sequence representing the name of the character class. </p></td>
383 <td><p><span class="term"><code class="computeroutput">end</code></span></p></td>
384 <td><p>The end of the character sequence. </p></td>
387 <td><p><span class="term"><code class="computeroutput">icase</code></span></p></td>
388 <td><p>Specifies whether the returned bitmask should represent the case-insensitive version of the character class. </p></td>
394 <td><p><span class="term">Returns:</span></p></td>
395 <td><p>A bitmask representing the character class. </p></td>
400 <li class="listitem">
401 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp785201680-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="keyword">const</span><span class="special">;</span></pre>
402 <p>Tests a character against a character class bitmask.</p>
407 <div class="variablelist"><table border="0" class="variablelist compact">
409 <col align="left" valign="top">
414 <td><p><span class="term">Parameters:</span></p></td>
415 <td><div class="variablelist"><table border="0" class="variablelist compact">
417 <col align="left" valign="top">
422 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
423 <td><p>The character to test. </p></td>
426 <td><p><span class="term"><code class="computeroutput">mask</code></span></p></td>
427 <td><p>The character class bitmask against which to test. </p></td>
433 <td><p><span class="term">Requires:</span></p></td>
434 <td><p>mask is a bitmask returned by lookup_classname, or is several such masks bit-or'ed together. </p></td>
437 <td><p><span class="term">Returns:</span></p></td>
438 <td><p>true if the character is a member of any of the specified character classes, false otherwise. </p></td>
443 <li class="listitem">
444 <pre class="literallayout"><span class="keyword">int</span> <a name="idp785206768-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="keyword">const</span><span class="special">;</span></pre>
445 <p>Convert a digit character into the integer it represents.</p>
450 <div class="variablelist"><table border="0" class="variablelist compact">
452 <col align="left" valign="top">
457 <td><p><span class="term">Parameters:</span></p></td>
458 <td><div class="variablelist"><table border="0" class="variablelist compact">
460 <col align="left" valign="top">
465 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
466 <td><p>The digit character. </p></td>
469 <td><p><span class="term"><code class="computeroutput">radix</code></span></p></td>
470 <td><p>The radix to use for the conversion. </p></td>
476 <td><p><span class="term">Requires:</span></p></td>
477 <td><p>radix is one of 8, 10, or 16. </p></td>
480 <td><p><span class="term">Returns:</span></p></td>
481 <td><p>-1 if ch is not a digit character, the integer value of the character otherwise. The conversion is performed by imbueing a std::stringstream with this->getloc(); setting the radix to one of oct, hex or dec; inserting ch into the stream; and extracting an int. </p></td>
486 <li class="listitem">
487 <pre class="literallayout"><span class="identifier">locale_type</span> <a name="idp785211952-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>
488 <p>Imbues *this with loc</p>
492 <div class="variablelist"><table border="0" class="variablelist compact">
494 <col align="left" valign="top">
499 <td><p><span class="term">Parameters:</span></p></td>
500 <td><div class="variablelist"><table border="0" class="variablelist compact">
502 <col align="left" valign="top">
506 <td><p><span class="term"><code class="computeroutput">loc</code></span></p></td>
507 <td><p>A std::locale. </p></td>
512 <td><p><span class="term">Returns:</span></p></td>
513 <td><p>the previous std::locale used by *this. </p></td>
518 <li class="listitem">
519 <pre class="literallayout"><span class="identifier">locale_type</span> <a name="idp785215056-bb"></a><span class="identifier">getloc</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
520 <p>Returns the current std::locale used by *this. </p>
522 <li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <a name="idp785216624-bb"></a><span class="identifier">hash</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">char</span> ch<span class="special">)</span><span class="special">;</span></pre></li>
523 <li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <a name="idp785218448-bb"></a><span class="identifier">hash</span><span class="special">(</span><span class="keyword">char</span> ch<span class="special">)</span><span class="special">;</span></pre></li>
524 <li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <a name="idp785220272-bb"></a><span class="identifier">hash</span><span class="special">(</span><span class="keyword">signed</span> <span class="keyword">char</span> ch<span class="special">)</span><span class="special">;</span></pre></li>
525 <li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <a name="idp785222096-bb"></a><span class="identifier">hash</span><span class="special">(</span><span class="keyword">wchar_t</span> ch<span class="special">)</span><span class="special">;</span></pre></li>
528 <div class="refsect2">
529 <a name="idp632647904"></a><h3>
530 <a name="idp785226576-bb"></a><code class="computeroutput">cpp_regex_traits</code> public static functions</h3>
531 <div class="orderedlist"><ol class="orderedlist" type="1">
532 <li class="listitem">
533 <pre class="literallayout"><span class="keyword">static</span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <a name="idp785227136-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>
534 <p>Returns a hash value for a Char in the range [0, UCHAR_MAX]</p>
538 <div class="variablelist"><table border="0" class="variablelist compact">
540 <col align="left" valign="top">
545 <td><p><span class="term">Parameters:</span></p></td>
546 <td><div class="variablelist"><table border="0" class="variablelist compact">
548 <col align="left" valign="top">
552 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
553 <td><p>The source character. </p></td>
558 <td><p><span class="term">Returns:</span></p></td>
559 <td><p>a value between 0 and UCHAR_MAX, inclusive. </p></td>
564 <li class="listitem">
565 <pre class="literallayout"><span class="keyword">static</span> <span class="identifier">char_type</span> <a name="idp785230560-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>
570 <div class="variablelist"><table border="0" class="variablelist compact">
572 <col align="left" valign="top">
577 <td><p><span class="term">Parameters:</span></p></td>
578 <td><div class="variablelist"><table border="0" class="variablelist compact">
580 <col align="left" valign="top">
584 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
585 <td><p>The source character. </p></td>
590 <td><p><span class="term">Returns:</span></p></td>
596 <li class="listitem">
597 <pre class="literallayout"><span class="keyword">static</span> <span class="keyword">bool</span> <a name="idp785233904-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>
598 <p>Checks to see if a character is within a character range.</p>
602 <div class="variablelist"><table border="0" class="variablelist compact">
604 <col align="left" valign="top">
609 <td><p><span class="term">Parameters:</span></p></td>
610 <td><div class="variablelist"><table border="0" class="variablelist compact">
612 <col align="left" valign="top">
617 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
618 <td><p>The source character. </p></td>
621 <td><p><span class="term"><code class="computeroutput">first</code></span></p></td>
622 <td><p>The bottom of the range, inclusive. </p></td>
625 <td><p><span class="term"><code class="computeroutput">last</code></span></p></td>
626 <td><p>The top of the range, inclusive. </p></td>
632 <td><p><span class="term">Returns:</span></p></td>
633 <td><p>first <= ch && ch <= last. </p></td>
642 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
643 <td align="left"></td>
644 <td align="right"><div class="copyright-footer">Copyright © 2007 Eric Niebler<p>
645 Distributed under the Boost Software License, Version 1.0. (See accompanying
646 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>)
651 <div class="spirit-nav">
652 <a accesskey="p" href="has_fold_case_idp785137632.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="c_regex_traits.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>