* overloading the comparison operators, we rolled our own class.
*/
+#ifndef __TRIBOOL_HPP
+#define __TRIBOOL_HPP
+
+#include <iostream>
+
namespace I2n
{
};
}
+
+namespace std
+{
+
+// allow Tribools to be easily printed to ostreams
+template <class charT, class traits>
+inline std::basic_ostream<charT, traits>& operator<<(std::basic_ostream<charT, traits>& os,
+ const I2n::Tribool& x)
+{
+ if (x == I2n::Tribool::False)
+ os << '0';
+ else if (x == I2n::Tribool::True)
+ os << '1';
+ else
+ os << '?';
+
+ return os;
+}
+
+}
+
+#endif