Verify is a meta assertion library using libassert
with a builtin fallback
to a generic std::abort
method when required for unsupported platforms.
There's three primary ways to call Verify:
VERIFY(condition)
VERIFY(condition, error_string)
VERIFY(condition, error_string, variables...)
These arguments do respectively:
condition
: holds the boolean test. If this returns false it will trigger an assertion. This will always get evaluated unlessNDEBUG
is defined, then it would get substituted with a(void)0
instead.error_string
: can hold an extra human readable error message to explain what occurred. Needs to support the<<
to std:err. Recommended it to be a string literal.variables
: can hold a list of extra variables and will print their currently held data. Currently supported inlibassert
, otherwise these arguments are ignored.
Due to how the variadic macros are defined header only, you may only have up to 32 arguments in a single call. If you have a usecase where you need more than this, please open an issue.