24 lines
933 B
C++
24 lines
933 B
C++
#pragma once
|
|
#include <iostream>
|
|
#include <stdexcept>
|
|
|
|
#ifdef NDEBUG
|
|
# define RENDERIVE_ASSERT(condition, message) ((void)0)
|
|
#else
|
|
# define RENDERIVE_ASSERT(condition, message) \
|
|
do { \
|
|
if (!(condition)) { \
|
|
std::cerr << "Assertion failed: " << message \
|
|
<< "\nFile: " << __FILE__ \
|
|
<< "\nLine: " << __LINE__ \
|
|
<< std::endl; \
|
|
throw std::runtime_error(message); \
|
|
} \
|
|
} \
|
|
while (0)
|
|
#endif
|
|
|
|
#ifndef ASSERT
|
|
# define ASSERT(condition, message) RENDERIVE_ASSERT(condition, message)
|
|
#endif
|