Releases: vincentlaucsb/csv-parser
Releases · vincentlaucsb/csv-parser
Fixed clang++ compilation warnings and single header version
- Fixed clang++ compilation warnings and UTF-8 BOM detection (with the help of @tamaskenez)
- Fixed compilation errors that occurred when including single header
csv.hpp
in multiple files
Added JSON serialization
CSVRow
objects now have to_json()
and to_json_array()
methods with proper string escaping and column slicing/rearranging. The CSVFormat
interface is now also more robust.
Fixed bug where user provided column names are overwritten
Fixed bug #44 where user provided column names are overwritten if delimiter guessing is used.
Added whitespace trimming
Added efficient whitespace trimming which can be enabled by calling trim({ … })
on CSVFormat
.
CSVWriter and CSVField::get<>() Improvements
- Integrated Hedley library
- Possible performance increase on older compilers due to use of
restrict
,pure
, etc.
- Possible performance increase on older compilers due to use of
- Better handling of integer types with
get()
get<>()
is now supported for all signed integer types- Removed complications regarding the (mostly) useless
long int
type
CSVWriter
now acceptsdeque<string>
andlist<string>
as inputs- Updated Catch to latest version
- Refactored unit tests
Performance + API Improvements
Found a bug in the previous release
Performance + API Enhancements
- Improved performance by storing all
CSVRow
data in contiguous memory regions- Numbers based on my computer
- Disk parsing speed: 220 MB/s
- In-memory parsing speed: 380 MB/s
- Numbers based on my computer
- Improved
CSVFormat
interface
Memory Fix
- Fixed memory issues reported by Valgrind
- Fixed segfaults that occurred in Microsoft Visual Studio debug builds
C++11 Compatibility
CSV library should now be compatible with C++11 by using a third-party string_view implementation. If C++17 is detected, then std::string_view will be used.
Floating Point Parsing Fix
Merge pull request #16 from vincentlaucsb/double-parse-fix Fixed floating point parsing bug #15