アサーション

コアサービスが提供するアサーション用マクロです。条件が満たされない場合に ブレーク(アサーション例外)を発生させ、デバッガで停止させることができます。

API

これらのマクロを使用するには、solid_cs_assert.h をインクルードしてください。

#include "solid_cs_assert.h"

solid_cs_assert

solid_cs_assert(exp)

exp が偽(0)の場合に、アサーション例外(ブレーク)を発生させます。

SOLID_NDEBUG または NDEBUG が定義されている場合は、何も行いません (exp は評価されません)。

パラメータ:
  • exp -- 真であることを期待する式

solid_cs_abort

solid_cs_abort()

処理を強制的に中断します(ブレークを発生させます)。

SOLID_NDEBUG または NDEBUG が定義されている場合は、無限ループになります。

solid_cs_verify

solid_cs_verify(exp, value)

exp を評価し、その結果が value と一致しない場合にアサーション例外 (ブレーク)を発生させます。

注釈

solid_cs_assert と異なり、SOLID_NDEBUG / NDEBUG 定義時でも exp は評価されます(比較のみが行われなくなります)。このため、副作用を伴う 関数呼び出しの戻り値チェックにも使用できます。

パラメータ:
  • exp -- 評価する式

  • value -- exp の結果として期待する値