25#ifndef _TABLE_ASCIIREADER_H
26#define _TABLE_ASCIIREADER_H
115 template <
typename StreamType,
typename... Args>
197 void skip(
long rows)
override;
TableReader implementation for reading ASCII tables from streams.
AsciiReader(const AsciiReader &)=delete
static AsciiReader create(Args &&... args)
Constructs an AsciiReader which contains an object of type StreamType.
void skip(long rows) override
Implements the TableReader::skip() contract.
virtual ~AsciiReader()=default
Destructor.
AsciiReader & operator=(AsciiReader &&)=default
std::string getComment() override
AsciiReader & fixColumnNames(std::vector< std::string > column_names)
Overrides the automatically detected column names.
std::vector< std::string > m_column_names
AsciiReader & fixColumnTypes(std::vector< std::type_index > column_types)
Overrides the automatically detected column types.
Table readImpl(long rows) override
Reads the next rows into a Table.
std::vector< std::pair< std::type_index, std::size_t > > m_column_types
bool hasMoreRows() override
Implements the TableReader::hasMoreRows() contract.
std::shared_ptr< ColumnInfo > m_column_info
const ColumnInfo & getInfo() override
Returns the column information of the table.
std::size_t rowsLeft() override
Implements the TableReader::rowsLeft() contract.
std::unique_ptr< InstOrRefHolder< std::istream > > m_stream_holder
AsciiReader(AsciiReader &&)=default
AsciiReader & operator=(const AsciiReader &)=delete
AsciiReader & setCommentIndicator(const std::string &indicator)
Set the comment indicator.
Provides information about the columns of a Table.
Interface for classes reading tables.