assert_detail.hpp File Reference

Namespaces

 kanzi
 
 kanzi::detail
 

Macros

#define KZ_ASSERT_IF_KANZI_DEBUG_ENABLED_INTERNAL(assertionMacro)
 Used internally. More...
 
#define KZ_LOG_CATEGORY_ASSERTION_ENABLED
 
#define KZ_LOG_CATEGORY_ASSERTION
 Assertion Log Category. More...
 
#define KZ_ASSERT_LOG_FAILURE_INTERNAL(expression)
 Used internally by assertion subsystem to log assertion failure message. More...
 
#define KZ_ASSERT_LOG_FAILURE_MESSAGE_INTERNAL(expression, message)
 Used internally by assertion subsystem to log assertion failure with custom description message. More...
 
#define KZ_ASSERT_LOG_UNREACHABLE_INTERNAL()
 Used internally by assertion subsystem to log unreachable code assertion. More...
 
#define KZ_ASSERT_LOG_UNREACHABLE_MESSAGE_INTERNAL(message)
 Used internally by assertion subsystem to log unreachable code assertion. More...
 
#define KZ_ASSERT_INTERNAL(expression)
 Used internally. See kzAssert(). More...
 
#define KZ_ASSERT_MESSAGE_INTERNAL(expression, message)
 Used internally. See kzAssertMessage(). More...
 
#define KZ_ASSERT_UNREACHABLE_INTERNAL()
 Used internally. See kzAssertUnreachable(). More...
 
#define KZ_ASSERT_UNREACHABLE_MESSAGE_INTERNAL(message)
 Used internally. See kzAssertUnreachableMessage(). More...
 

Functions

KANZI_API KZ_ATTRIBUTE_NO_RETURN void kanzi::detail::terminateProgram ()
 This function terminates program execution. More...
 
KANZI_API void kanzi::detail::debugBreak ()
 Used internally by assertion system in order to insert breakpoint if debugger is attached. More...
 

Macro Definition Documentation

#define KZ_ASSERT_IF_KANZI_DEBUG_ENABLED_INTERNAL (   assertionMacro)

Used internally.

Enables specified macro invocation if KANZI_DEBUG is defined.

Parameters
assertionMacromacro to be called when KANZI_DEBUG is defined.
#define KZ_LOG_CATEGORY_ASSERTION_ENABLED
#define KZ_LOG_CATEGORY_ASSERTION

Assertion Log Category.

This should be used to log assertion messages only.

#define KZ_ASSERT_LOG_FAILURE_INTERNAL (   expression)

Used internally by assertion subsystem to log assertion failure message.

You should not use it directly. Only assertion subsystem uses this macro to log messages. This macro logs failed expression (not it's value) as character string.

Parameters
expressionFailed assertion expression.
#define KZ_ASSERT_LOG_FAILURE_MESSAGE_INTERNAL (   expression,
  message 
)

Used internally by assertion subsystem to log assertion failure with custom description message.

You should not use it directly. Only assertion subsystem uses this macro to log messages. This macro extends KZ_ASSERT_LOG_FAILURE() syntax with extra message parameter that is appended to the log in order to clarify assertion failure.

Parameters
expressionFailed assertion expression.
messageAssertion failure clarification message. It's format string bundled with format arguments. Should be surrounded with brackets.
#define KZ_ASSERT_LOG_UNREACHABLE_INTERNAL ( )

Used internally by assertion subsystem to log unreachable code assertion.

You should not use it directly. Only assertion subsystem uses this macro to log messages. This macro is used to assert the code that is not supposed to be reached by valid code paths. The error log message is issued when place of the code where this macro used is executed.

#define KZ_ASSERT_LOG_UNREACHABLE_MESSAGE_INTERNAL (   message)

Used internally by assertion subsystem to log unreachable code assertion.

You should not use it directly. Only assertion subsystem uses this macro to log messages. This macro is used to assert the code that is not supposed to be reached by valid code paths. The error log message is issued when place of the code where this macro used is executed. Sole argument of this macro describing why asserted place in code could be reached.

Parameters
messageAssertion failure clarification message. It's format string bundled with format arguments. Should be surrounded with brackets.
#define KZ_ASSERT_INTERNAL (   expression)

Used internally. See kzAssert().

#define KZ_ASSERT_MESSAGE_INTERNAL (   expression,
  message 
)

Used internally. See kzAssertMessage().

#define KZ_ASSERT_UNREACHABLE_INTERNAL ( )

Used internally. See kzAssertUnreachable().

#define KZ_ASSERT_UNREACHABLE_MESSAGE_INTERNAL (   message)

Used internally. See kzAssertUnreachableMessage().