目次 - API(機能別) - アサーション

# アサーション

インクルードファイル: SDL_assert.h

## 概要

ここに分類される関数は, アサーション(検証)に関するものである.

SDL_assert() 対 標準assert()マクロの議論と, 実装に関する技術的な説明は, RyanのGoogle+の投稿にある.

SDL_ASSERT_LEVELは, コンパイル中に関数を生成するか選択することで, どのアサーションが有効になるかに影響する. (詳細は下記.)

SDL_ASSERT_LEVELは自分で設定できる. もし設定されなければ, SDL_ASSERT_LEVELはデバッグ時は2で, リリース時は1となる.

次の表は, それぞれのSDL_ASSERT_LEVELの設定と, SDL_assert関数に与える影響の対応である.

SDL_ASSERT_LEVEL | 説明 | 関数 | 有効・無効
--- | --- | --- | ---
0 | 全てのアサーションは無効になる | SDL_assert | 無効
SDL_assert_release | 無効
SDL_assert_paranoid | 無効
1 | リリース用 (デフォルト) | SDL_assert | 無効
SDL_assert_release | 有効
SDL_assert_paranoid | 無効
2 | デバッグ用 (デフォルト) | SDL_assert | 有効
SDL_assert_release | 有効
SDL_assert_paranoid | 無効
3 | 厳格なチェック用 | SDL_assert | 有効
SDL_assert_release | 有効
SDL_assert_paranoid | 有効

## 列挙体

1. SDL_AssertState

## 構造体

1. SDL_assert_data

## 関数

1. SDL_GetAssertionHandler
2. SDL_GetAssertionReport
3. SDL_GetDefaultAssertionHandler
4. SDL_ResetAssertionReport
5. SDL_SetAssertionHandler
6. SDL_TriggerBreakpoint
7. SDL_assert
8. SDL_assert_paranoid
9. SDL_assert_release

## SDL Wikiへのリンク

Assertions - SDL Wiki