FBB::StringLine(3bobcat)

Line extractor
(libbobcat-dev_6.04.00)

2005-2023

NAME

FBB::StringLine - extracting lines using operator>>

SYNOPSIS

#include <bobcat/stringline>

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.

NAMESPACE

FBB
All constructors, members, operators and manipulators, mentioned in this man-page, are defined in the namespace FBB.

INHERITS FROM

std::string

CONSTRUCTORS

StringLine is an empty shell around std::string. It does not explicitly define constructors.

Copy and move constructors (and assignment operators) are available.

OVERLOADED OPERATOR

MEMBER FUNCTIONS

All members of std::string are available, as FBB::StringLine inherits from these classes.

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.

SEE ALSO

bobcat(7)

BUGS

None Reported.

BOBCAT PROJECT FILES

BOBCAT

Bobcat is an acronym of `Brokken's Own Base Classes And Templates'.

COPYRIGHT

This is free software, distributed under the terms of the GNU General Public License (GPL).

AUTHOR

Frank B. Brokken (f.b.brokken@rug.nl).