aboutsummaryrefslogtreecommitdiffstats
path: root/meowpp/debug/assert.h
diff options
context:
space:
mode:
Diffstat (limited to 'meowpp/debug/assert.h')
-rw-r--r--meowpp/debug/assert.h76
1 files changed, 0 insertions, 76 deletions
diff --git a/meowpp/debug/assert.h b/meowpp/debug/assert.h
deleted file mode 100644
index 0143e86..0000000
--- a/meowpp/debug/assert.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*!
- * @file assert.h
- * @brief Contains assert macro for meowpp's debugging tools.
- *
- * You can use
- * @code{.cpp}
- * #define MEOWPP_NODEBUG
- * @endcode
- * to remove all the debugging code.
- *
- * @author cathook
- */
-
-#ifndef __MEOWPP_ASSERT_H__
-#define __MEOWPP_ASSERT_H__
-
-#include <cstdio>
-#include <cstdlib>
-
-
-namespace meow {
-
-
-/*!
- * @def Assert
- * @brief A macro for assert whether a expression is failed or not.
- * @param expr The expression to be tested.
- * @param ... Error information to be printed to stderr when the expr is failed.
- *
- * When expression is failed, it will call `fprintf(stderr, ...)` to print out
- * the message follows by calling `abort()` to halt the program.
- *
- * @note You can use
- * @code{.cpp}
- * #define MEOWPP_TESTING
- * @endcode
- * to tell this macro calls `test::abort()` instead of normal `abort()`
- * function.
- */
-
-
-#ifndef MEOWPP_NODEBUG
-
-#define MEOWPP_STRINGIFY(x) #x
-#define MEOWPP_TOSTRING(x) MEOWPP_STRINGIFY(x)
-
-#ifndef MEOWPP_DEBUG_ASSERT_TESTING
-
-#define Assert(expr,...) \
- while (((expr) || \
- (fprintf(stderr, "Assertion error at " \
- __FILE__ ":" MEOWPP_TOSTRING(__LINE__) \
- " >>> " __VA_ARGS__), \
- abort(), false) + fprintf(stderr, "\n")) && false)
-
-#else // MEOWPP_DEBUG_ASSERT_TESTING
-
-#define Assert(expr,...) \
- while (((expr) || \
- (fprintf(stderr, "Assertion error at " \
- __FILE__ ":" MEOWPP_TOSTRING(__LINE__) \
- " >>> " __VA_ARGS__), \
- test::abort(), false) + fprintf(stderr, "\n")) && false)
-
-#endif // MEOWPP_DEBUG_ASSERT_TESTING
-
-#else // MEOWPP_NODEBUG
-
-#define Assert(expr,...) \
- while (false)
-
-#endif // MEOWPP_NODEBUG
-
-} // meow
-
-#endif // __MEOWPP_ASSERT_H__