Skip to content

Commit bac55f1

Browse files
committed
Update README and 2.4.0 -> 2.4.1
1 parent eb35215 commit bac55f1

3 files changed

Lines changed: 36 additions & 25 deletions

File tree

README.md

Lines changed: 34 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,33 @@
11
# Vince's CSV Parser
2-
[![CMake on Windows](https://github.com/vincentlaucsb/csv-parser/actions/workflows/cmake-multi-platform.yml/badge.svg)](https://github.com/vincentlaucsb/csv-parser/actions/workflows/cmake-multi-platform.yml)
3-
4-
* [Motivation](#motivation)
5-
* [Documentation](#documentation)
6-
* [Integration](#integration)
7-
* [C++ Version](#c-version)
8-
* [Single Header](#single-header)
9-
* [CMake Instructions](#cmake-instructions)
10-
* [Features & Examples](#features--examples)
11-
* [Reading an Arbitrarily Large File (with Iterators)](#reading-an-arbitrarily-large-file-with-iterators)
12-
* [Memory Mapped Files vs. Streams](#memory-mapped-files-vs-streams)
13-
* [Indexing by Column Names](#indexing-by-column-names)
14-
* [Numeric Conversions](#numeric-conversions)
15-
* [Specifying the CSV Format](#specifying-the-csv-format)
16-
* [Trimming Whitespace](#trimming-whitespace)
17-
* [Handling Variable Numbers of Columns](#handling-variable-numbers-of-columns)
18-
* [Setting Column Names](#setting-column-names)
19-
* [Converting to JSON](#converting-to-json)
20-
* [Parsing an In-Memory String](#parsing-an-in-memory-string)
21-
* [Writing CSV Files](#writing-csv-files)
22-
* [Contributing](#contributing)
2+
[![CMake on Windows](https://github.com/vincentlaucsb/csv-parser/actions/workflows/cmake-multi-platform.yml/badge.svg)](https://github.com/vincentlaucsb/csv-parser/actions/workflows/cmake-multi-platform.yml) [![Memory and Thread Sanitizers](https://github.com/vincentlaucsb/csv-parser/actions/workflows/sanitizers.yml/badge.svg)](https://github.com/vincentlaucsb/csv-parser/actions/workflows/sanitizers.yml)
3+
4+
- [Vince's CSV Parser](#vinces-csv-parser)
5+
- [Motivation](#motivation)
6+
- [Performance and Memory Requirements](#performance-and-memory-requirements)
7+
- [Show me the numbers](#show-me-the-numbers)
8+
- [Robust Yet Flexible](#robust-yet-flexible)
9+
- [RFC 4180 and Beyond](#rfc-4180-and-beyond)
10+
- [Encoding](#encoding)
11+
- [Well Tested](#well-tested)
12+
- [Documentation](#documentation)
13+
- [Sponsors](#sponsors)
14+
- [Integration](#integration)
15+
- [C++ Version](#c-version)
16+
- [Single Header](#single-header)
17+
- [CMake Instructions](#cmake-instructions)
18+
- [Avoid cloning with FetchContent](#avoid-cloning-with-fetchcontent)
19+
- [Features \& Examples](#features--examples)
20+
- [Reading an Arbitrarily Large File (with Iterators)](#reading-an-arbitrarily-large-file-with-iterators)
21+
- [Memory-Mapped Files vs. Streams](#memory-mapped-files-vs-streams)
22+
- [Indexing by Column Names](#indexing-by-column-names)
23+
- [Numeric Conversions](#numeric-conversions)
24+
- [Converting to JSON](#converting-to-json)
25+
- [Specifying the CSV Format](#specifying-the-csv-format)
26+
- [Trimming Whitespace](#trimming-whitespace)
27+
- [Handling Variable Numbers of Columns](#handling-variable-numbers-of-columns)
28+
- [Setting Column Names](#setting-column-names)
29+
- [Parsing an In-Memory String](#parsing-an-in-memory-string)
30+
- [Writing CSV Files](#writing-csv-files)
2331

2432
## Motivation
2533
There's plenty of other CSV parsers in the wild, but I had a hard time finding what I wanted. Inspired by Python's `csv` module, I wanted a library with **simple, intuitive syntax**. Furthermore, I wanted support for special use cases such as calculating statistics on very large files. Thus, this library was created with these following goals in mind.
@@ -54,8 +62,11 @@ This CSV parser is encoding-agnostic and will handle ANSI and UTF-8 encoded file
5462
It does not try to decode UTF-8, except for detecting and stripping UTF-8 byte order marks.
5563

5664
### Well Tested
57-
This CSV parser has an extensive test suite and is checked for memory safety with Valgrind. If you still manage to find a bug,
58-
do not hesitate to report it.
65+
This CSV parser has:
66+
* An extensive Catch2 test suite
67+
* Address, thread safety, and undefined behavior checks with ASan, TSan, and Valgrind (see [GitHub Actions](https://github.com/vincentlaucsb/csv-parser/actions))
68+
69+
If you still manage to find a bug, do not hesitate to report it.
5970

6071
## Documentation
6172

include/csv.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
CSV for C++, version 2.4.0
2+
CSV for C++, version 2.4.1
33
https://github.com/vincentlaucsb/csv-parser
44
55
MIT License

single_include/csv.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#pragma once
22
/*
3-
CSV for C++, version 2.4.0
3+
CSV for C++, version 2.4.1
44
https://github.com/vincentlaucsb/csv-parser
55
66
MIT License

0 commit comments

Comments
 (0)