*/
#include <cstdlib> // exit
-#include <cerrno> // errno
-#include <cstring> // strerror
-
-
-namespace Mf {
/**
* Macro which tests an assertion and issues an logError() and exits if false.
- * This differs from the standard assert() in that this is a runtime assertion
- * test and will always be compiled in.
* @param X test to perform
*/
-#define ASSERT(X) if (!(X)) logError("false assertion at %s:%d, " #X \
- " (errno: %d, %s)", __FILE__, __LINE__, errno, strerror(errno)), exit(1)
+#if ! NDEBUG
+#define ASSERT(X) if (!(X)) Mf::logError("false assertion at %s:%d, " #X, \
+ __FILE__, __LINE__), exit(1)
+#else
+#define ASSERT(X)
+#endif
+
+
+namespace Mf {
/**
* @see LogLevel()
*/
-typedef enum {
- NONE = -1, ///< Disable all logging.
- ERROR = 1, ///< Log only errors.
- WARNING = 2, ///< Log warnings and errors.
- INFO = 3, ///< Log info, warnings, errors.
- DEBUGGING = 4 ///< Log all messages.
-} LogLevel;
+enum LogLevel
+{
+ LOG_NONE = -1, ///< Disable all logging.
+ LOG_ERROR = 1, ///< Log only errors.
+ LOG_WARNING = 2, ///< Log warnings and errors.
+ LOG_INFO = 3, ///< Log info, warnings, errors.
+ LOG_DEBUG = 4 ///< Log all messages.
+};
/**