From fe3aaf62cd916f56c8c9f12cedadbb6108aec35a Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Wed, 30 Jul 2003 12:41:10 +0000 Subject: [PATCH] Undo overeager workarounding and safe_bool. [SVN r19364] --- include/boost/operators.hpp | 8 +------- operators_test.cpp | 13 ++----------- 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/include/boost/operators.hpp b/include/boost/operators.hpp index 0270043..cd4b76f 100644 --- a/include/boost/operators.hpp +++ b/include/boost/operators.hpp @@ -316,15 +316,9 @@ template struct bool_testable : B { friend bool operator!(const T& t) { return !static_cast(t); } +#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551)) private: -#if !BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 600) typedef signed char private_number_type; -# if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1301)) \ - || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(800)) \ - || BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(3)) \ - || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551)) - public: -# endif operator private_number_type() const; #endif }; diff --git a/operators_test.cpp b/operators_test.cpp index 317dd01..f619acf 100644 --- a/operators_test.cpp +++ b/operators_test.cpp @@ -51,14 +51,7 @@ namespace class Wrapped1 : boost::operators > , boost::shiftable > - , -#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1300)) \ - || BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(3)) \ - || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(800)) \ - || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551)) - public -#endif - boost::bool_testable > + , boost::bool_testable > { public: explicit Wrapped1( T v = T() ) : _value(v) {} @@ -89,9 +82,7 @@ namespace { _value >>= x._value; return *this; } Wrapped1& operator++() { ++_value; return *this; } Wrapped1& operator--() { --_value; return *this; } - - typedef T (Wrapped1::*safe_bool)() const; - operator safe_bool () const { return _value ? &Wrapped1::value : 0; } + operator bool() const { return _value != 0; } private: T _value;