Imported Upstream version 1.64.0
[platform/upstream/boost.git] / doc / html / boost / xpressive / cpp_regex_traits.html
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=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 &lt;boost/xpressive/xpressive_fwd.hpp&gt;">
10 <link rel="prev" href="has_fold_case_idp785137632.html" title="Struct has_fold_case&lt;cpp_regex_traits&lt; char &gt;&gt;">
11 <link rel="next" href="c_regex_traits.html" title="Struct template c_regex_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="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>
25 </div>
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 &#8212; 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>&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="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">&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="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">&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="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">&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">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">&lt;</span><span class="keyword">typename</span> FwdIter<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> FwdIter<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> FwdIter<span class="special">&gt;</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">&lt;</span><span class="special">&gt;</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">&lt;</span><span class="special">&gt;</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">&lt;</span><span class="special">&gt;</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">&lt;</span><span class="special">&gt;</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>
63
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> 
74         public
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">&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>
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>
79 </li></ol></div>
80 </div>
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">
85 <li class="listitem">
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">&lt;</span> <span class="identifier">char_type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</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>
88 <p>
89 </p>
90 <div class="variablelist"><table border="0" class="variablelist compact">
91 <colgroup>
92 <col align="left" valign="top">
93 <col>
94 </colgroup>
95 <tbody><tr>
96 <td><p><span class="term">Returns:</span></p></td>
97 <td><p>this-&gt;getloc() == that.getloc(). </p></td>
98 </tr></tbody>
99 </table></div>
100 </li>
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">&lt;</span> <span class="identifier">char_type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</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>
104 <p>
105 </p>
106 <div class="variablelist"><table border="0" class="variablelist compact">
107 <colgroup>
108 <col align="left" valign="top">
109 <col>
110 </colgroup>
111 <tbody><tr>
112 <td><p><span class="term">Returns:</span></p></td>
113 <td><p>this-&gt;getloc() != that.getloc(). </p></td>
114 </tr></tbody>
115 </table></div>
116 </li>
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>
120 <p>
121
122 </p>
123 <div class="variablelist"><table border="0" class="variablelist compact">
124 <colgroup>
125 <col align="left" valign="top">
126 <col>
127 </colgroup>
128 <tbody>
129 <tr>
130 <td><p><span class="term">Parameters:</span></p></td>
131 <td><div class="variablelist"><table border="0" class="variablelist compact">
132 <colgroup>
133 <col align="left" valign="top">
134 <col>
135 </colgroup>
136 <tbody><tr>
137 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
138 <td><p>The source character. </p></td>
139 </tr></tbody>
140 </table></div></td>
141 </tr>
142 <tr>
143 <td><p><span class="term">Returns:</span></p></td>
144 <td><p>std::use_facet&lt;std::ctype&lt;char_type&gt; &gt;(this-&gt;getloc()).widen(ch). </p></td>
145 </tr>
146 </tbody>
147 </table></div>
148 </li>
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>
152 <p>
153
154 </p>
155 <div class="variablelist"><table border="0" class="variablelist compact">
156 <colgroup>
157 <col align="left" valign="top">
158 <col>
159 </colgroup>
160 <tbody>
161 <tr>
162 <td><p><span class="term">Parameters:</span></p></td>
163 <td><div class="variablelist"><table border="0" class="variablelist compact">
164 <colgroup>
165 <col align="left" valign="top">
166 <col>
167 </colgroup>
168 <tbody><tr>
169 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
170 <td><p>The source character. </p></td>
171 </tr></tbody>
172 </table></div></td>
173 </tr>
174 <tr>
175 <td><p><span class="term">Returns:</span></p></td>
176 <td><p>std::tolower(ch, this-&gt;getloc()). </p></td>
177 </tr>
178 </tbody>
179 </table></div>
180 </li>
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>
184 <p>
185
186 </p>
187 <div class="variablelist"><table border="0" class="variablelist compact">
188 <colgroup>
189 <col align="left" valign="top">
190 <col>
191 </colgroup>
192 <tbody>
193 <tr>
194 <td><p><span class="term">Parameters:</span></p></td>
195 <td><div class="variablelist"><table border="0" class="variablelist compact">
196 <colgroup>
197 <col align="left" valign="top">
198 <col>
199 </colgroup>
200 <tbody><tr>
201 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
202 <td><p>The source character. </p></td>
203 </tr></tbody>
204 </table></div></td>
205 </tr>
206 <tr>
207 <td><p><span class="term">Returns:</span></p></td>
208 <td><p>std::tolower(ch, this-&gt;getloc()). </p></td>
209 </tr>
210 </tbody>
211 </table></div>
212 </li>
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>
216 <p>
217
218 </p>
219 <div class="variablelist"><table border="0" class="variablelist compact">
220 <colgroup>
221 <col align="left" valign="top">
222 <col>
223 </colgroup>
224 <tbody>
225 <tr>
226 <td><p><span class="term">Parameters:</span></p></td>
227 <td><div class="variablelist"><table border="0" class="variablelist compact">
228 <colgroup>
229 <col align="left" valign="top">
230 <col>
231 </colgroup>
232 <tbody><tr>
233 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
234 <td><p>The source character. </p></td>
235 </tr></tbody>
236 </table></div></td>
237 </tr>
238 <tr>
239 <td><p><span class="term">Returns:</span></p></td>
240 <td><p>std::toupper(ch, this-&gt;getloc()). </p></td>
241 </tr>
242 </tbody>
243 </table></div>
244 </li>
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>&lt;<code class="computeroutput"><a class="link" href="cpp_regex_traits.html" title="Struct template cpp_regex_traits">cpp_regex_traits</a></code>&lt;Char&gt; &gt;::value</code> is <code class="computeroutput">true</code>.</p>
248 <p>
249
250 </p>
251 <div class="variablelist"><table border="0" class="variablelist compact">
252 <colgroup>
253 <col align="left" valign="top">
254 <col>
255 </colgroup>
256 <tbody>
257 <tr>
258 <td><p><span class="term">Parameters:</span></p></td>
259 <td><div class="variablelist"><table border="0" class="variablelist compact">
260 <colgroup>
261 <col align="left" valign="top">
262 <col>
263 </colgroup>
264 <tbody><tr>
265 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
266 <td><p>The source character. </p></td>
267 </tr></tbody>
268 </table></div></td>
269 </tr>
270 <tr>
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>
273 </tr>
274 </tbody>
275 </table></div>
276 </li>
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>
280 <p>
281
282 </p>
283 <div class="note"><table border="0" summary="Note">
284 <tr>
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>
287 </tr>
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>
289 </table></div>
290 <p>
291 </p>
292 <div class="variablelist"><table border="0" class="variablelist compact">
293 <colgroup>
294 <col align="left" valign="top">
295 <col>
296 </colgroup>
297 <tbody>
298 <tr>
299 <td><p><span class="term">Parameters:</span></p></td>
300 <td><div class="variablelist"><table border="0" class="variablelist compact">
301 <colgroup>
302 <col align="left" valign="top">
303 <col>
304 </colgroup>
305 <tbody>
306 <tr>
307 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
308 <td><p>The source character. </p></td>
309 </tr>
310 <tr>
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>
313 </tr>
314 <tr>
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>
317 </tr>
318 </tbody>
319 </table></div></td>
320 </tr>
321 <tr>
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-&gt;getloc())) || in_range(first, last, toupper(ch, this-&gt;getloc())) </p></td>
324 </tr>
325 </tbody>
326 </table></div>
327 </li>
328 <li class="listitem">
329 <pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> FwdIter<span class="special">&gt;</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) &lt; v.transform_primary(H1, H2).</p>
332 <div class="note"><table border="0" summary="Note">
333 <tr>
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>
336 </tr>
337 <tr><td align="left" valign="top"><p>Not currently used </p></td></tr>
338 </table></div>
339 <p>
340 </p>
341 </li>
342 <li class="listitem">
343 <pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> FwdIter<span class="special">&gt;</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">
347 <tr>
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>
350 </tr>
351 <tr><td align="left" valign="top"><p>Not currently used </p></td></tr>
352 </table></div>
353 <p>
354 </p>
355 </li>
356 <li class="listitem">
357 <pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> FwdIter<span class="special">&gt;</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>
361 <p>
362
363 </p>
364 <div class="variablelist"><table border="0" class="variablelist compact">
365 <colgroup>
366 <col align="left" valign="top">
367 <col>
368 </colgroup>
369 <tbody>
370 <tr>
371 <td><p><span class="term">Parameters:</span></p></td>
372 <td><div class="variablelist"><table border="0" class="variablelist compact">
373 <colgroup>
374 <col align="left" valign="top">
375 <col>
376 </colgroup>
377 <tbody>
378 <tr>
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>
381 </tr>
382 <tr>
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>
385 </tr>
386 <tr>
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>
389 </tr>
390 </tbody>
391 </table></div></td>
392 </tr>
393 <tr>
394 <td><p><span class="term">Returns:</span></p></td>
395 <td><p>A bitmask representing the character class. </p></td>
396 </tr>
397 </tbody>
398 </table></div>
399 </li>
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>
403 <p>
404
405
406 </p>
407 <div class="variablelist"><table border="0" class="variablelist compact">
408 <colgroup>
409 <col align="left" valign="top">
410 <col>
411 </colgroup>
412 <tbody>
413 <tr>
414 <td><p><span class="term">Parameters:</span></p></td>
415 <td><div class="variablelist"><table border="0" class="variablelist compact">
416 <colgroup>
417 <col align="left" valign="top">
418 <col>
419 </colgroup>
420 <tbody>
421 <tr>
422 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
423 <td><p>The character to test. </p></td>
424 </tr>
425 <tr>
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>
428 </tr>
429 </tbody>
430 </table></div></td>
431 </tr>
432 <tr>
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>
435 </tr>
436 <tr>
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>
439 </tr>
440 </tbody>
441 </table></div>
442 </li>
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>
446 <p>
447
448
449 </p>
450 <div class="variablelist"><table border="0" class="variablelist compact">
451 <colgroup>
452 <col align="left" valign="top">
453 <col>
454 </colgroup>
455 <tbody>
456 <tr>
457 <td><p><span class="term">Parameters:</span></p></td>
458 <td><div class="variablelist"><table border="0" class="variablelist compact">
459 <colgroup>
460 <col align="left" valign="top">
461 <col>
462 </colgroup>
463 <tbody>
464 <tr>
465 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
466 <td><p>The digit character. </p></td>
467 </tr>
468 <tr>
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>
471 </tr>
472 </tbody>
473 </table></div></td>
474 </tr>
475 <tr>
476 <td><p><span class="term">Requires:</span></p></td>
477 <td><p>radix is one of 8, 10, or 16. </p></td>
478 </tr>
479 <tr>
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-&gt;getloc(); setting the radix to one of oct, hex or dec; inserting ch into the stream; and extracting an int. </p></td>
482 </tr>
483 </tbody>
484 </table></div>
485 </li>
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>
489 <p>
490
491 </p>
492 <div class="variablelist"><table border="0" class="variablelist compact">
493 <colgroup>
494 <col align="left" valign="top">
495 <col>
496 </colgroup>
497 <tbody>
498 <tr>
499 <td><p><span class="term">Parameters:</span></p></td>
500 <td><div class="variablelist"><table border="0" class="variablelist compact">
501 <colgroup>
502 <col align="left" valign="top">
503 <col>
504 </colgroup>
505 <tbody><tr>
506 <td><p><span class="term"><code class="computeroutput">loc</code></span></p></td>
507 <td><p>A std::locale. </p></td>
508 </tr></tbody>
509 </table></div></td>
510 </tr>
511 <tr>
512 <td><p><span class="term">Returns:</span></p></td>
513 <td><p>the previous std::locale used by *this. </p></td>
514 </tr>
515 </tbody>
516 </table></div>
517 </li>
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>
521 </li>
522 <li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</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">&lt;</span><span class="special">&gt;</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">&lt;</span><span class="special">&gt;</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">&lt;</span><span class="special">&gt;</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>
526 </ol></div>
527 </div>
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>
535 <p>
536
537 </p>
538 <div class="variablelist"><table border="0" class="variablelist compact">
539 <colgroup>
540 <col align="left" valign="top">
541 <col>
542 </colgroup>
543 <tbody>
544 <tr>
545 <td><p><span class="term">Parameters:</span></p></td>
546 <td><div class="variablelist"><table border="0" class="variablelist compact">
547 <colgroup>
548 <col align="left" valign="top">
549 <col>
550 </colgroup>
551 <tbody><tr>
552 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
553 <td><p>The source character. </p></td>
554 </tr></tbody>
555 </table></div></td>
556 </tr>
557 <tr>
558 <td><p><span class="term">Returns:</span></p></td>
559 <td><p>a value between 0 and UCHAR_MAX, inclusive. </p></td>
560 </tr>
561 </tbody>
562 </table></div>
563 </li>
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>
566 <p>No-op</p>
567 <p>
568
569 </p>
570 <div class="variablelist"><table border="0" class="variablelist compact">
571 <colgroup>
572 <col align="left" valign="top">
573 <col>
574 </colgroup>
575 <tbody>
576 <tr>
577 <td><p><span class="term">Parameters:</span></p></td>
578 <td><div class="variablelist"><table border="0" class="variablelist compact">
579 <colgroup>
580 <col align="left" valign="top">
581 <col>
582 </colgroup>
583 <tbody><tr>
584 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
585 <td><p>The source character. </p></td>
586 </tr></tbody>
587 </table></div></td>
588 </tr>
589 <tr>
590 <td><p><span class="term">Returns:</span></p></td>
591 <td><p>ch </p></td>
592 </tr>
593 </tbody>
594 </table></div>
595 </li>
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>
599 <p>
600
601 </p>
602 <div class="variablelist"><table border="0" class="variablelist compact">
603 <colgroup>
604 <col align="left" valign="top">
605 <col>
606 </colgroup>
607 <tbody>
608 <tr>
609 <td><p><span class="term">Parameters:</span></p></td>
610 <td><div class="variablelist"><table border="0" class="variablelist compact">
611 <colgroup>
612 <col align="left" valign="top">
613 <col>
614 </colgroup>
615 <tbody>
616 <tr>
617 <td><p><span class="term"><code class="computeroutput">ch</code></span></p></td>
618 <td><p>The source character. </p></td>
619 </tr>
620 <tr>
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>
623 </tr>
624 <tr>
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>
627 </tr>
628 </tbody>
629 </table></div></td>
630 </tr>
631 <tr>
632 <td><p><span class="term">Returns:</span></p></td>
633 <td><p>first &lt;= ch &amp;&amp; ch &lt;= last. </p></td>
634 </tr>
635 </tbody>
636 </table></div>
637 </li>
638 </ol></div>
639 </div>
640 </div>
641 </div>
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 &#169; 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>)
647       </p>
648 </div></td>
649 </tr></table>
650 <hr>
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>
653 </div>
654 </body>
655 </html>