debug.hpp

Basic tools for use in developing high-assurance code.

Note

Status: BETA

Defines

BlockRelease(BLOCK)

BlockRelease(true) will halt compilation if NDEBUG is on and EMP_NO_BLOCK is off. It is useful to include alongside debug code that you want to remember to remove when you are done debugging; it is automatically included with the emp_debug() function below. If you want to intentionally compile in release mode, make sure to define EMP_NO_BLOCK.

emp_debug(...)

emp_debug() will print its contents as a message in debug mode and BLOCK release mode until it is removed. It’s a useful too for printing “Ping1”, “Ping2”, etc, but no forgetting to remove them.

Functions

constexpr bool test_debug()
template<typename ...Ts>
void emp_debug_print(Ts&&... args)