include/bio/plain_io/reader.hpp
reader(std::istream &                      str,
           char const                          field_separator,
           header_kind                         header = header_kind::none,
           transparent_istream_options const & istream_options =
             transparent_istream_options{}) requires(record_kind_ == record_kind::line_and_fields) :
      stream{str, istream_options}, it{stream, field_separator}
    {
        read_header(header);
    }
/*!\brief Construct from an existing stream and with specified format.
     * \param[in] str             The stream to open from.
     * \param[in] field_separator Delimiter between fields in a line. [optional]
     * \param[in] header          Whether to treat certain lines as header; see bio::plain_io::header_kind. [optional]
     * \param[in] istream_options Options passed to the underlying stream; see bio::transparent_istream_options.
     * [optional] \throws bio::file_open_error If the file could not be opened, e.g. non-existant or non-readable.
     *
     * \details
     *
     * This constructor enables creation from a C++ istream. Movable istreams (e.g. std::ifstream and
     * std::istringstream) can also be moved into a reader.
     *
     * All other parameters are optional.
     *
     * ### Decompression
     *
     * This constructor transparently applies a decompression stream on top of the stream in case
     * it is detected as being compressed.
     * See the section on compression and decompression (TODO) for more information.
     */
\brief Construct from an existing stream and with specified format.
\param[in] str             The stream to open from.
\param[in] field_separator Delimiter between fields in a line. [optional]
\param[in] header          Whether to treat certain lines as header; see bio::plain_io::header_kind. [optional]
\param[in] istream_options Options passed to the underlying stream; see bio::transparent_istream_options.
[optional] \throws bio::file_open_error If the file could not be opened, e.g. non-existant or non-readable.

\details

This constructor enables creation from a C++ istream. Movable istreams  can also be moved into a reader.

All other parameters are optional.

Decompression

This constructor transparently applies a decompression stream on top of the stream in case
it is detected as being compressed.
See the section on compression and decompression (TODO) for more information.
\ brief Construct from an existing stream and with specified format . \ param [ in ] str The stream to open from . \ param [ in ] field_separator Delimiter between fields in a line . [ optional ] \ param [ in ] header Whether to treat certain lines as header ; see bio :: plain_io :: header_kind . [ optional ] \ param [ in ] istream_options Options passed to the underlying stream ; see bio :: transparent_istream_options . [ optional ] \ throws bio :: file_open_error If the file could not be opened e . g . non - existant or non - readable . \ details This constructor enables creation from a C ++ istream . Movable istreams can also be moved into a reader . All other parameters are optional . Decompression This constructor transparently applies a decompression stream on top of the stream in case it is detected as being compressed . See the section on compression and decompression ( TODO ) for more information .
reader(std::istream &                      str,
           char const                          field_separator,
           header_kind                         header = header_kind::none,
           transparent_istream_options const & istream_options =
             transparent_istream_options{}) requires(record_kind_ == record_kind::line_and_fields) :
      stream{str, istream_options}, it{stream, field_separator}
    {
        read_header(header);
    }
reader ( std :: istream & str , char const field_separator , header_kind header = header_kind :: none , transparent_istream_options const & istream_options = transparent_istream_options { } ) requires ( record_kind_ == record_kind :: line_and_fields ) : stream { str , istream_options } , it { stream , field_separator } { read_header ( header ) ; }
\brief Construct from an existing stream and with specified format.
\ brief Construct from an existing stream and with specified format .