Constraint solver's goal is to solve [Constraint Satisfaction Problems (CSPs). The goal of this solver is to be highly configurable, letting a programmer mix-and-match different representation and solving strategies. Like C++ standard library, the configurability is intended to have an extremely low abstraction cost.
This is project is based on Jason Turner's c++ starter project. As such, it includes the following features (copied from Jason's page):
By default (collectively known as ENABLE_DEVELOPER_MODE
)
- Address Sanitizer and Undefined Behavior Sanitizer enabled where possible
- Warnings as errors
- clang-tidy and cppcheck static analysis
- conan for dependencies
It includes
- a basic SDL example
- examples for fuzz, unit, and constexpr testing
- large github action testing matrix
It requires
- cmake
- conan
- a compiler
See Catch2 tutorial