A C++ library.
- A unit testing framework
- Implementations of a few dynamic programming algorithms:
- Longest common subsequence length
- Longest common subsequence distance
- Levenshtein distance
- Damerau-Levenshtein distance
- Some utility functions on top of
std::filesystem
,std::string
, andstd::chrono
- A class for parsing command-line arguments
- Wrapper classes encapsulating SQLite 3 objects and functions
- CMake
- C++17 development environment for which CMake can generate build files
- SQLite 3
Clone into tlo-cpp directory.
$ git clone --branch develop [email protected]:OOZZY/tlo-cpp.git
Build (out of source).
$ mkdir build
$ cd build
$ cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=Debug ../tlo-cpp
$ make
Run tests with make.
$ make test
Run tests directly.
$ ./tlo-cpp-test
- TLO_CPP_COLORED_DIAGNOSTICS
- Tell the compiler to use colors in diagnostics (GNU/Clang only)
- On by default
- TLO_CPP_USE_LIBCPP
- Use libc++ (Clang only)
- Off by default
- TLO_CPP_LINK_FS
- Link to filesystem library of older GNU and Clang (GNU/Clang only)
- Prior to LLVM 9, using
std::filesystem
required linker option-lc++fs
- Prior to GCC 9, using
std::filesystem
required linker option-lstdc++fs
- Off by default
- TLO_CPP_SQLITE3_INCLUDE_DIRS and TLO_CPP_SQLITE3_LIBRARIES
- If both are specified (non-empty strings), will search for SQLite 3 headers in the directories specified by TLO_CPP_SQLITE3_INCLUDE_DIRS and will link to the libraries specified by TLO_CPP_SQLITE3_LIBRARIES
- Otherwise,
find_package(SQLite3 REQUIRED)
will be used instead - Empty strings by default
- TLO_CPP_ENABLE_TESTS
- Enable tests
- On by default