Home

Awesome

Commata

Just another header-only C++17 CSV parser

For users

Commata's version numbers strictly comply to Semantic Versioning only since the major version one. With the major version zero, each pre-release version has been misapplied to indicate a bugfix release. So, for example, 0.2.4-bug1 came after 0.2.4, which is not an order that Semantic Versioning mandates.

For developers

Commata is written in C++17 and consists only of headers. All C++ codes in this repository shall compile and link with Microsoft Visual Studio 2019, 2022, GCC 7.3 and Clang 7.0.

This repository also contains a test of it in src_test directory. Tests are written on GoogleTest v1.15.2. Commata employs CMake 3.13 or later to make the test. You can build it as follows:

  1. At the top directory of the repository, prepare GoogleTest and the tests for Commata with CMake into build directory:

    $ cmake -S . -B build -DCOMMATA_BUILD_TESTS=ON
    

    You can also explicitly specify the geneator, the platform, the build type, and so on. For example:

    $ cmake -S . -B build -GNinja -DCMAKE_BUILD_TYPE=Debug -DCOMMATA_BUILD_TESTS=ON
    

    or

    $ cmake -S . -B build -G "Visual Studio 17 2022" -A x64 -DCOMMATA_BUILD_TESTS=ON
    
  2. Now you can make and execute the tests. All you have to do should be cd build, cmake --build ., and then src_test/test_commata. Or, with Microsoft Visual Studio, open commata.sln in build directory, build test_commata project, and run it.