14 string_view svCondition,
16 assert_type eAssertType,
17 string_view svUserMessage,
18 string_view svFunction,
22 if (m_Config.bLogAssertion)
24 QX_LOG_REF(
category, m_Config.getVerbosity(eAssertType),
"[{}] {}", svCondition, svUserMessage);
30 if (m_Config.onAssertion)
31 m_Config.onAssertion(svCondition,
category, eAssertType, svUserMessage, svFunction, svFile, nLine);
34 return ::IsDebuggerPresent();
43 m_Config.onExit(
category, eAssertType);
53 m_Config = std::move(
config);
bool do_assert(string_view svCondition, const category &category, assert_type eAssertType, string_view svUserMessage, string_view svFunction, string_view svFile, i32 nLine)
An entry point for all assertions.
void set_config(config config)
Set config.
void exit(const category &category, assert_type eAssertType)
Called in fatal assertions to exit the application.
const config & get_config() const
Get config.
A category is a class that identifies a particular piece of code. This code can be located in differe...
virtual void flush()
Flush all streams.
logger & get_logger()
Get the logger instance used in QX_LOG macros.
#define QX_LOG_REF(category, eVerbosity,...)
Log with category and with non compile time category check.
std::int32_t i32
− 9 223 372 036 854 775 808 .. 9 223 372 036 854 775 807