13 lines
332 B
Text
13 lines
332 B
Text
#pragma once
|
|
|
|
namespace euler {
|
|
[[noreturn]] void assert_failed(
|
|
const char *file, const char *function, int line, const char *condition);
|
|
}
|
|
|
|
#ifdef NDEBUG
|
|
#define assert(condition) ((void)0)
|
|
#else
|
|
#define assert(condition) ((condition) ? ((void)0) : \
|
|
euler::assert_failed(__FILE__, __func__, __LINE__, #condition))
|
|
#endif
|