FBB::StringLine - extracting lines using operator>>
Contents
Bobcat
Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.
Bobcat Project Files
o https://fbb-git.gitlab.io/bobcat/: gitlab project page;
Debian Bobcat project files:
o libbobcat6: debian package containing the shared library, changelog and copyright note;
o libbobcat-dev: debian package containing the static library, headers, manual pages, and developer
info;
Bugs
None Reported.
Constructors
StringLine is an empty shell around std::string. It does not explicitly define constructors.
Copy and move constructors (and assignment operators) are available.
Copyright
This is free software, distributed under the terms of the GNU General Public License (GPL).
Description
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.
Example
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)
);
}
Files
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.
Inherits From
std::string
Member Functions
All members of std::string are available, as FBB::StringLine inherits from these classes.
Name
FBB::StringLine - extracting lines using operator>>
Namespace
FBB
All constructors, members, operators and manipulators, mentioned in this man-page, are defined in the
namespace FBB.
Overloaded Operator
o std::istream&operator>>(std::istream&in,StringLine&str):
The extraction operator returns the next line on in in str, calling getline(std::istream&,std::string&).
See Also
bobcat(7)
Synopsis
#include<bobcat/stringline>
