Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Catch
A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
If you want to throw an exception instead of calling `abort` you can use https://github.com/xlladdins/xll/blob/master/xll/ensure.h When running in a debugger it can break execution when it fails and you can inspect the values of relevant variables.
See https://github.com/keithalewis/ensure/blob/main/README.md
Looks good but currently at least REQUIRE (most likely all the other checks too but I didn't test that) fails to correctly evaluate some expressions, due to fundamental problems with macros. One example is described in this issue of the Catch2 repository.