1 |
gezelter |
2 |
//: C07:StreamTokenizer.cpp {O} |
2 |
|
|
// From "Thinking in C++, 2nd Edition, Volume 2" |
3 |
|
|
// by Bruce Eckel & Chuck Allison, (c) 2001 MindView, Inc. |
4 |
|
|
// Available at www.BruceEckel.com. |
5 |
|
|
//{-g++295} |
6 |
|
|
|
7 |
tim |
3 |
#include "utils/StreamTokenizer.hpp" |
8 |
gezelter |
2 |
using namespace std; |
9 |
|
|
|
10 |
|
|
string StreamTokenizer::next() { |
11 |
|
|
string result; |
12 |
|
|
if(p != end) { |
13 |
|
|
insert_iterator<string> |
14 |
|
|
ii(result, result.begin()); |
15 |
|
|
while(isDelimiter(*p) && p != end) |
16 |
|
|
p++; |
17 |
|
|
while (!isDelimiter(*p) && p != end) |
18 |
|
|
*ii++ = *p++; |
19 |
|
|
} |
20 |
|
|
return result; |
21 |
|
|
} ///:~ |