# FBB::StringLine(3bobcat)

## Line extractor
(libbobcat-dev_6.06.02)

## 2005-2024

## 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

- 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 &).

## 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

- https://fbb-git.gitlab.io/bobcat/: gitlab project page;
- bobcat_6.06.02-x.dsc: detached signature;
- bobcat_6.06.02-x.tar.gz: source archive;
- bobcat_6.06.02-x_i386.changes: change log;
- libbobcat1_6.06.02-x_*.deb: debian package containing the libraries;
- libbobcat1-dev_6.06.02-x_*.deb: debian package containing the libraries, headers and manual pages;

## 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).