FBB::StringLine(3bobcat) | Line extractor | FBB::StringLine(3bobcat) |
FBB::StringLine - extracting lines using operator>>
#include <bobcat/stringline>
The standard operator>>(std::istream &, std::string &) string extracion operator extracts the first `word’ from a stream. In cases where the intent it to extract lines from the stream this operator cannot be used, but getline(std::istream &, std::string &) is usually called.
However, getline is not called by many tools of generic algorithms, like the istream_iterator.
The class (actually: struct) StringLine was simply derived from std::string, and defines its own operator>>, reading the next line from the specified std::istream.
FBB
All constructors, members, operators and manipulators, mentioned in this
man-page, are defined in the namespace FBB.
std::string
StringLine is an empty shell around std::string. It does not explicitly define constructors. The default and copy constructors are available.
All members of std::string are available, as FBB::StringLine inherits from these classes.
The following example extracts all lines from std::cin and adds them to the std::vector<std::string> lines:
#include <iostream> #include <algorithm> #include <iterator> #include <vector> #include <bobcat/stringline> using namespace std; using namespace FBB; int main() {
vector<string> lines;
copy(
istream_iterator<StringLine>(cin), istream_iterator<StringLine>(),
back_inserter(lines)
); }
bobcat/stringline - defines the class interface and operator>>.
There are StringLine object files in the Bobcat library, so linking to Bobcat when using StringLine is not necessary.
None Reported.
Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.
This is free software, distributed under the terms of the GNU General Public License (GPL).
Frank B. Brokken (f.b.brokken@rug.nl).
2005-2018 | libbobcat-dev_4.08.06-x.tar.gz |