Include File(s): SDL_assert.h
This category contains functions for managing assertions.
A fairly detailed discussion of the features of SDL_assert vs the standard assert() macro, and some technical explanation about how this is implemented can be found in this Google+ post from Ryan.
SDL_ASSERT_LEVEL affects which assertions, if any, are processed during compiling based on which function was used to create the assertion (see functions below).
SDL_ASSERT_LEVEL can be defined in your project. If not otherwise set, SDL_ASSERT_LEVEL will default to level 2 for debug builds or level 1 for release builds.
The following table describes each SDL_ASSERT_LEVEL setting and the corresponding impact on the three SDL_assert functions:
SDL_ASSERT_LEVEL | Description | Function | Function Status |
<:>0 | all assertions disabled | SDL_assert SDL_assert_release SDL_assert_paranoid |
disabled disabled disabled |
<:>1 | for release (default) | SDL_assert SDL_assert_release SDL_assert_paranoid |
disabled enabled disabled |
<:>2 | for debugging (default) | SDL_assert SDL_assert_release SDL_assert_paranoid |
enabled enabled disabled |
<:>3 | stringent for detailed checking | SDL_assert SDL_assert_release SDL_assert_paranoid |
enabled enabled enabled |
<>
<>
<>
- SDL_assert
- SDL_assert_data
- SDL_assert_paranoid
- SDL_assert_release
- SDL_AssertState
- SDL_GetAssertionHandler
- SDL_GetAssertionReport
- SDL_GetDefaultAssertionHandler
- SDL_ResetAssertionReport
- SDL_SetAssertionHandler
- SDL_TriggerBreakpoint
CategoryCategory