25#ifndef TABLE_ASCIIREADERHELPER_H
26#define TABLE_ASCIIREADERHELPER_H
114 size_t columns_number);
boost::variant< bool, int32_t, int64_t, float, double, std::string, std::vector< bool >, std::vector< int32_t >, std::vector< int64_t >, std::vector< float >, std::vector< double >, NdArray::NdArray< int32_t >, NdArray::NdArray< int64_t >, NdArray::NdArray< float >, NdArray::NdArray< double > > cell_type
The possible cell types.
This class gets a stream as argument during construction and when it is deleted it sets the position ...
std::ios::iostate m_state
StreamRewinder(std::istream &stream)
std::vector< std::string > splitLine(std::string line, const std::string &comment)
bool hasNextRow(std::istream &in, const std::string &comment)
std::map< std::string, ColumnDescription > autoDetectColumnDescriptions(std::istream &in, const std::string &comment)
Reads the column descriptions of the given stream.
size_t countColumns(std::istream &in, const std::string &comment)
Returns the number of whitespace separated tokens of the first non commented line.
std::vector< std::string > autoDetectColumnNames(std::istream &in, const std::string &comment, size_t columns_number)
Reads the column names of the given stream.
std::pair< std::type_index, std::size_t > guessColumnType(const std::string &token)
Row::cell_type convertToCellType(const std::string &value, std::type_index type)
Converts the given value to a Row::cell_type of the given type.
std::vector< std::string > firstDataLine(std::istream &in, const std::string &comment)
std::size_t countRemainingRows(std::istream &in, const std::string &comment)