Defined in header hpx/assert.hpp.

See Public API for a list of names and headers that are part of the public HPX API.



This macro asserts that expr evaluates to true.

If expr evaluates to false, The source location and msg is being printed along with the expression and additional. Afterwards the program is being aborted. The assertion handler can be customized by calling hpx::assertion::set_assertion_handler().

Asserts are enabled if HPX_DEBUG is set. This is the default for CMAKE_BUILD_TYPE=Debug

  • expr – The expression to assert on. This can either be an expression that’s convertible to bool or a callable which returns bool

  • msg – The optional message that is used to give further information if the assert fails. This should be convertible to a std::string

HPX_ASSERT_MSG(expr, msg)#

See also


namespace hpx
namespace assertion#


using assertion_handler = void (*)(hpx::source_location const &loc, const char *expr, std::string const &msg)#

The signature for an assertion handler.


void set_assertion_handler(assertion_handler handler)#

Set the assertion handler to be used within a program. If the handler has been set already once, the call to this function will be ignored.


This function is not thread safe