better in this respect but still allows two instances of any
class having such a <tt>void *</tt> conversion to be compared
for equality. This again will produce absolutely unexpected
- results since it will not check wethere the objects are
+ results since it will not check whether the objects are
identical, it will only check, that both return the same
boolean state.
SafeBool to safe_bool (I tend to the latter ...)
*/
template <typename T>
- class SafeBool
+ class ComparableSafeBool
: public SafeBoolBase
{
public:
bool operator !() const;
protected:
- ~SafeBool();
+ ~ComparableSafeBool();
};
+ template <typename T>
+ class SafeBool : public ComparableSafeBool<T> {};
+
template <typename T, typename U>
void operator==(const SafeBool<T>& lhs,const SafeBool<U>& rhs);
// c-file-style: "senf"
// indent-tabs-mode: nil
// ispell-local-dictionary: "american"
+// compile-command: "scons -u test"
+// comment-column: 40
// End: