check and checkSlow

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