I'm exploring boost::tribool and was surprised by the following behaviour.
{
using namespace boost;
boost::tribool t(indeterminate);
assert(t==indeterminate); // This assertion fails!
}
However, if I do this, the assert passes.
assert(indeterminate(t));
No compiler warnings or errors in either case. Anyone have a good explanation of why this should be??