C++で三値論理

boost::triboolという真/偽/不定という三種の論理値を扱う型が存在します。

http://www.boost.org/doc/libs/1_59_0/doc/html/tribool.html

初期化,代入,コピー

tribool b(true);
b = false;
b = indeterminate;
tribool b2(b);

条件

tribool b = some_operation();
if (b) {
  // b is true
}
else if (!b) {
  // b is false
}
else {
  // b is indeterminate
}