Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_34_1/libs/tokenizer/token_iterator.htm @ 29

Last change on this file since 29 was 29, checked in by landauf, 17 years ago

updated boost from 1_33_1 to 1_34_1

File size: 4.2 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
3<html>
4<head>
5  <meta http-equiv="Content-Language" content="en-us">
6  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
7  <meta name="GENERATOR" content="Microsoft FrontPage 6.0">
8  <meta name="ProgId" content="FrontPage.Editor.Document">
9
10  <title>Boost Token Iterator</title>
11</head>
12
13<body bgcolor="#FFFFFF" text="#000000" link="#0000EE" vlink="#551A8B" alink=
14"#FF0000">
15  <p><img src="../../boost.png" alt="C++ Boost" width="277" height=
16  "86"><br></p>
17
18  <h1 align="center">Token Iterator</h1>
19  <pre>
20template &lt;
21        class TokenizerFunc = char_delimiters_separator&lt;char&gt;,
22        class Iterator = std::string::const_iterator,
23        class Type = std::string
24&gt;
25class token_iterator_generator
26</pre>
27  <pre>
28template&lt;class Type, class Iterator, class TokenizerFunc&gt;
29typename token_iterator_generator&lt;TokenizerFunc,Iterator,Type&gt;::type
30make_token_iterator(Iterator begin, Iterator end,const TokenizerFunc&amp; fun)
31
32</pre>
33
34  <p>The token iterator serves to provide an iterator view of the tokens in a
35  parsed sequence.</p>
36
37  <h2>Example</h2>
38  <pre>
39/// simple_example_5.cpp
40#include&lt;iostream&gt;
41#include&lt;boost/token_iterator.hpp&gt;
42#include&lt;string&gt;
43
44int main(){
45   using namespace std;
46   using namespace boost;
47   string s = "12252001";
48   int offsets[] = {2,2,4};
49   offset_separator f(offsets, offsets+3);
50   typedef token_iterator_generator&lt;offset_separator&gt;::type Iter;
51   Iter beg = make_token_iterator&lt;string&gt;(s.begin(),s.end(),f);
52   Iter end = make_token_iterator&lt;string&gt;(s.end(),s.end(),f);
53   // The above statement could also have been what is below
54   // Iter end;
55   for(;beg!=end;++beg){
56     cout &lt;&lt; *beg &lt;&lt; "\n";
57   }
58}
59</pre>
60
61  <p>&nbsp;</p>
62
63  <h3>Template Parameters</h3>
64
65  <table border="1" summary="">
66    <tr>
67      <th>Parameter</th>
68
69      <th>Description</th>
70    </tr>
71
72    <tr>
73      <td><tt>TokenizerFunc</tt></td>
74
75      <td>The TokenizerFunction used to parse the sequence.</td>
76    </tr>
77
78    <tr>
79      <td><tt>Iterator</tt></td>
80
81      <td>The type of the iterator the specifies the sequence.</td>
82    </tr>
83
84    <tr>
85      <td><tt>Type</tt></td>
86
87      <td>The type of the token, typically string.</td>
88    </tr>
89  </table>
90
91  <h2>Model of</h2>
92
93  <p>The category of Iterator, up to and including Forward Iterator. Anything
94  higher will get scaled down to Forward Iterator.</p>
95
96  <h2>Related Types</h2>
97
98  <table border="1" summary="">
99    <tr>
100      <td>
101        <p align="center"><strong>Type</strong></p>
102      </td>
103
104      <td>
105        <p align="center"><strong>Remarks</strong></p>
106      </td>
107    </tr>
108
109    <tr>
110      <td>token_iterator_generator::type</td>
111
112      <td>The type of the token iterator.</td>
113    </tr>
114  </table>
115
116  <h2>Creation</h2>
117  <pre>
118template&lt;class Type, class Iterator, class TokenizerFunc&gt;
119typename token_iterator_generator&lt;TokenizerFunc,Iterator,Type&gt;::type
120make_token_iterator(Iterator begin, Iterator end,const TokenizerFunc&amp; fun)
121</pre>
122
123  <table border="1" summary="">
124    <tr>
125      <td>
126        <p align="center"><strong>Parameter</strong></p>
127      </td>
128
129      <td>
130        <p align="center"><strong>Description</strong></p>
131      </td>
132    </tr>
133
134    <tr>
135      <td>begin</td>
136
137      <td>The beginning of the sequence to be parsed.</td>
138    </tr>
139
140    <tr>
141      <td>end</td>
142
143      <td>Past the end of the sequence to be parsed.</td>
144    </tr>
145
146    <tr>
147      <td>fun</td>
148
149      <td>A functor that is a model of TokenizerFunction</td>
150    </tr>
151  </table>
152
153  <p>&nbsp;</p>
154  <hr>
155
156  <p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
157  "http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
158  height="31" width="88"></a></p>
159
160  <p>Revised
161  <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->25
162  December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38518" --></p>
163
164  <p><i>Copyright &copy; 2001 John R. Bandela</i></p>
165
166  <p><i>Distributed under the Boost Software License, Version 1.0. (See
167  accompanying file <a href="../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
168  copy at <a href=
169  "http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
170</body>
171</html>
Note: See TracBrowser for help on using the repository browser.