
Hello! This is my first post in this list. =) I was looking today at Boost Optional (great work!). And I was wondering how could I do something like the bellow code. -------------------------------- #include <boost/optional.hpp> class Test {}; boost::optional<Test> get() { return boost::optional<Test>(); } int main() { if (get() == true) { // OK } else if (get() == false) { // ERROR } return 0; } -------------------------------- But there's no "operator==" with bool in optional.hpp, so the above code don't compile (i have checked version 1.49). Is it possible to add the patch described bellow in optional.hpp to solve this problem? -------------------------------- --- boost_1_49_0/boost/optional/optional.hpp 2010-12-18 19:29:39.000000000 -0200 +++ boost_1_49_0_new/boost/optional/optional.hpp 2012-03-28 16:03:53.417578997 -0300 @@ -616,6 +616,11 @@ return *this ; } + bool operator== (const bool condition) + { + return ((*this && condition) || (!*this && !condition)); + } + void swap( optional & arg ) { // allow for Koenig lookup -------------------------------- Best regards, Rafael Justo