A modern C++ library for reading, writing, and analyzing CSV (and similar) files.
std::log()
function (see: https://stackoverflow.com/questions/1489830/efficient-way-to-determine-number-of-digits-in-an-integer)CSVWriter
Fixed #142 where decimal numbers were being printed properly by CSVWriter, and incorporated #137 and #134
CSVReader
can now parse from memory mapped files, std::stringstream
, and std::ifstream
DelimWriter
now supports writing rows encoded as std::tuple
DelimWriter
automatically converts numbers and other data types stored in vectors, arrays, and tuplesCSVReader
is now a no-copy parser when memory-mapped IO is used
CSVRow
and CSVField
now refer to the original memory mapinternals::CSVFieldList
CSVReader::feed()
and CSVReader::end_feed()
have been removed. In-memory parsing should be performed via the interface for std::stringsteam
.std::back_inserter
on some systemsmio
CSVReader::read_row()
(and CSVReader::iterator
) no longer blocks CSVReader::read_csv()
, i.e. we can now simultaneously work on CSV data while reading more rowsCSVWriter::write_row()
now works with std::array
string_view
that led to memory errors when parsing large files such as the 1.4GB Craigslist vehicles dataset #90VariableColumnPolicy::IGNORE
to IGNORE_ROW
to avoid clashing with IGNORE
macro as defined by WinBase.h
#96