
2011/3/11 Thomas Jarosch
Hello,
here's a small boost::logic::tribool riddle:
-<snip>-------------------------------------
#include <iostream> #include
int main(void) { boost::logic::tribool foo(boost::logic::indeterminate); if (foo != true) { std::cout << "reached1\n"; }
if (foo == boost::logic::indeterminate) { std::cout << "reached2\n"; }
return 0; }
-<snap>-------------------------------------
Try to determine the printed result without looking at the boost::logic::tribool implementation / documentation.
Intuitive?
A coworker just shot himself in the foot...
Best regards, Thomas Jarosch
Without looking in the docs; I havent used tribool in my life ;-) My guess is: 1) foo is intermediate => prints reached2 (cause I expect foo != true to return intermediate) 2) foo is true => prints nothing 3) foo is false => prints reached1 Now I'll check the docs... Regards, Kris