BOOST_ASSERT

ちらっとソースを呼んでみたら、どうもユーザ定義のアサーションをかますこともできるらしい。

BOOST_ENABLE_ASSERT_HANDLER 定数を定義(define)して、boost::assertion_failed関数を定義するだけでBOOST_ASSERTマクロの呼び出し先が変わるようにできているようで。

ログを取る時とかに便利そう。

assertを無効にする場合はBOOST_DISABLE_ASSERTSを定義すれば何もしなくなるので、リリースモードの時に無効にするのも簡単。

それにしてもboost使い始めてそれなりに経っているのに、いまさらこんなものを見つけて喜んでいるなんて……。assert自体、殆ど使ったことがないというのもあるけれど、それはそれで痛い。