Blaze/Blaze/MacroUtils.h

41 lines
2.8 KiB
C++

#pragma once
#include <cassert>
#include <cstdlib>
#include <utility>
#include <SDL3/SDL_log.h>
#define DEPRECATE_JULY_2025
#define G_ASSERT( COND ) \
do \
{ \
auto _result = ( COND ); \
if ( not _result ) \
{ \
__debugbreak(); \
assert( _result&& #COND ); \
} \
} \
while ( false )
#define ASSERT( COND ) G_ASSERT( COND )
#define VK_CHECK( RESULT ) \
do \
{ \
auto _result = ( RESULT ); \
if ( _result != VK_SUCCESS ) \
{ \
SDL_LogError( SDL_LOG_CATEGORY_SYSTEM, "" #RESULT " failed with %d at %s:%d", _result, __FILE__, __LINE__ ); \
__debugbreak(); \
exit( _result ); \
} \
} \
while ( false )
#define Take( OBJ ) std::exchange( OBJ, {} )
#define UNREACHABLE G_ASSERT( false )