2 * @brief Implementation of intuitive tristate logic
4 * (c) Copyright 2011 by Intra2net AG
5 * Written by Erich Willems and Thomas Jarosch
7 * After we had serious trouble with the current boost::logic::tribool implementation
8 * overloading the comparison operators, we rolled our own class.
19 enum State { False, True, Undef };
22 Tribool(const State &v);
23 Tribool(const Tribool& src);
26 Tribool& operator= (const State &v);
27 Tribool& operator= (const Tribool& src);
30 bool operator==(const Tribool& v) const;
31 bool operator!=(const Tribool& v) const;
34 Tribool operator !() const;
35 Tribool operator ||(const Tribool& x) const;
36 Tribool operator &&(const Tribool& x) const;
38 // Bistate logic to tristate conversion
39 Tribool(const bool &v);
40 Tribool& operator= (const bool &v);
42 // comparision with bool (bi)
43 bool is_exact(const bool &v) const;