boolean を更新しました。
http://tricklib.com/cxx/ex/boolean/
2008-05-27 以下の修正を行いました。
- Windows環境にて Windows SDK 内の型名と衝突していたので boolean から tricklib::nullable_bool に改名。tricklib 名前空間は TRICKLIB_BOOLEAN_NAMESPACE で名称を変更可能。
- メンバー関数に is_true(), is_not_true(), is_false(), is_not_false() を追加。同様のヘルパー関数も合わせて追加。
- get_null() スタティックメンバー関数の追加。
- null 値が bool 評価された際に送出される例外オブジェクトを this から evaluate_null() に変更。TRICKLIB_BOOLEAN_EXCEPTION_OBJECT でユーザー定義のオブジェクトを指定可能。
- リファレンスに operator bool() 及び is_xxx() の類の真理値表を加筆。
動作確認済みコンパイラ
このモジュールは以下のコンパイラでコンパイル疎通し BOOLEAN_WITH_EXCEPTION 指定なしの状態で各 161 点、BOOLEAN_WITH_EXCEPTION 指定ありの状態で各 163 点のテストをパスしていることを確認しています。
- Borland C++ 5.2
- Borland C++ 5.5.1
- Borland C++ 5.6.4
- Borland C++ 5.9
- Microsoft Visual C++ 6
- Microsoft Visual C++ 7.1
- Microsoft Visual C++ 8
- Metrowerks C/C++ Compiler 2.4
- Metrowerks C/C++ Compiler 3.0.1
- Digital Mars C++ 8.25
- Digital Mars C++ 8.49
- Intel C/C++ Compiler 7.1
- Open Watcom C/C++ 1.5
- g++ 3.4.4