I can’t find docs on their intended use. Different types of assertions?
By default checkSlow is only run in debug builds while check will run in development builds.
2 Likes
though the comment says different.
//
// Check for **development **only.
//
#if DO_GUARD_SLOW
#define checkSlow(expr) { if(UNLIKELY(!(expr))) { FDebug::LogAssertFailedMessage( #expr, __FILE__, __LINE__, TEXT("") ); _DebugBreakAndPromptForRemote(); FDebug::AssertFailed(#expr, __FILE__, __LINE__); CA_ASSUME(false); } }
#define checkfSlow(expr, format, ...) { if(UNLIKELY(!(expr))) { FDebug::LogAssertFailedMessage( #expr, __FILE__, __LINE__, format, ##__VA_ARGS__ ); _DebugBreakAndPromptForRemote(); FDebug::AssertFailed( #expr, __FILE__, __LINE__, format, ##__VA_ARGS__ ); CA_ASSUME(false); } }
#define verifySlow(expr) { if(UNLIKELY(!(expr))) { FDebug::LogAssertFailedMessage( #expr, __FILE__, __LINE__, TEXT("") ); _DebugBreakAndPromptForRemote(); FDebug::AssertFailed(#expr, __FILE__, __LINE__); CA_ASSUME(false); } }
#else
#define checkSlow(expr) { CA_ASSUME(expr); }
#define checkfSlow(expr, format, ...) { CA_ASSUME(expr); }
#define verifySlow(expr) { if(UNLIKELY(!(expr))) { CA_ASSUME(false); } }
#endif