ブースト ライブラリは安全な bool イディオムの実装を提供するので、そこからクラスを派生させることができますか?
はいの場合 - どこにありますか?
いいえの場合 - 自分で実装する以外の選択肢は何ですか?
次のような同様の質問を見つけました:「boost には安全な bool イディオム ヘルパーがありますか?」と受け入れられた回答は、 Boost.Operators での使用bool_testable<>
を示唆しています。
残念ながら、ブーストのマニュアルを確認したところ、そこには見つかりませんでした。それを使用するコードもコンパイルに失敗します。
また、別のSOの質問「Was boost::bool_testable<> relocated or removed?bool_testable
」に出くわしましたが、そこのコメントは、ブーストのどのリリースバージョンにも実際には作成されていないことを示唆しています。
私のプロジェクトにコピーアンドペーストできるコードを含む、このテーマに関するBjorn Karlsson による興味深い記事もあります。しかし、すでにそれを実装している、一般的に受け入れられ維持されているユーティリティ ライブラリ (boost など) があることを願っています。
互換性の理由から、C++11 には依存したくありません。