
21 Apr
2010
21 Apr
'10
3:16 p.m.
Hi, IIUC, c+0x allows the safe bool idiom to be implemented as explicit operator bool() const { ...} but in c+03 emulating that behaviour is a bit messy. There appears to be a solution for c+03 in boost/smart_ptr/detail/operator_bool.hpp, but it's targeted for the smart_ptr classes only. Would it be possible to extract operator_bool.hpp into a reusable macro, something like: #include <boost/utility/operator_bool.hpp> struct some { BOOST_EXPLICIT_OPERATOR_BOOL( m_value != 0; ) int m_value; }; What do you think? Cheers, Christian