assertion¶
The contents of this module can be included with the header
hpx/modules/assertion.hpp
. These headers may be used by user-code but are not
guaranteed stable (neither header location nor contents). You are using these at
your own risk. If you wish to use non-public functionality from a module we
strongly suggest only including the module header hpx/modules/assertion.hpp
, not
the particular header in which the functionality you would like to use is
defined. See Public API for a list of names that are part of the public
HPX API.
Defines
-
HPX_ASSERT_CURRENT_FUNCTION
¶
-
namespace
hpx
Defines
-
HPX_ASSERT
(expr)¶ This macro asserts that expr evaluates to true.
If
expr
evaluates to false, The source location andmsg
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().- Parameters
expr
: The expression to assert on. This can either be an expression that’s convertible to bool or a callable which returns boolmsg
: The optional message that is used to give further information if the assert fails. This should be convertible to a std::string
Asserts are enabled if HPX_DEBUG is set. This is the default for
CMAKE_BUILD_TYPE=Debug
-
HPX_ASSERT_MSG
(expr, msg)¶ - See
HPX_ASSERT
-
namespace
hpx
-
namespace
assertion
Typedefs
-
using
assertion_handler
= void (*)(source_location const &loc, const char *expr, std::string const &msg)¶ The signature for an assertion handler.
Functions
-
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.
- Note
This function is not thread safe
-
using
-
namespace