17# if ALIB_SINGLE_THREADED && ALIB_EXT_LIB_THREADS_AVAILABLE
25#if ALIB_DEBUG_ASSERTION_PRINTABLES
45template<
typename... TArgs>
47 constexpr size_t numArgs =
sizeof...(TArgs);
48 if constexpr (numArgs > 0) {
49 std::any argArray[numArgs]= { std::forward<TArgs>(args)... };
137 const std::span<std::any>& args );
180template<
typename... TArgs>
182 if constexpr (
sizeof...(TArgs) == 0)
183 raise( ci, type, domain, std::span<std::any>{} );
185 std::array<std::any,
sizeof...(TArgs)> argArray { std::forward<TArgs>(args)... };
206 std::string_view domain,
207 std::string_view msg );
This namespace exposes entities of module ALib Assert.
std::ostream * STREAM_WARNINGS
void(* PLUGIN)(const CallerInfo &ci, int type, std::string_view domain, std::string_view msg)
std::ostream * STREAM_ERRORS
void Raise(const lang::CallerInfo &ci, int type, std::string_view domain, TArgs &&... args)
ALIB_DLL void CheckArgsImpl(const CallerInfo &ci, const std::span< std::any > &args)
TLD & GetHaltFlagAndCounters()
ALIB_DLL void RegisterPrintable(std::type_index typeIndex, AnyConversionFunc func)
void raise(const CallerInfo &ci, int type, std::string_view domain, const std::span< std::any > &args)
std::ostream * STREAM_MESSAGES
void CheckArgs(const CallerInfo &ci, TArgs &&... args)
void(*)(const std::any &, std::string &) AnyConversionFunc
lang::CallerInfo CallerInfo
Type alias in namespace alib.
bool HaltOnErrors
Flag to enable/disable the use of assert(0) if an ALib error was raised.
bool HaltOnWarnings
Flag to enable/disable the use of assert(0) if an ALib warning was raised.
size_t CtdWarnings
The number of warnings counted for this thread.
size_t CtdMessages
The number of messages counted for this thread.
size_t CtdErrors
The number of errors counted for this thread.