Files
Renderive/Core/base/Assert.h
T
2026-08-01 20:09:45 +08:00

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