5 // Definition of inline template functions
7 //#include "SafeBool.ih"
11 #define prefix_ inline
12 ///////////////////////////////cti.p///////////////////////////////////////
15 prefix_ senf::SafeBool<T>::operator bool_type()
18 return (static_cast<const T*>(this))->boolean_test()
19 ? &SafeBoolBase::this_type_does_not_support_comparisons : 0;
23 prefix_ bool senf::SafeBool<T>::operator!()
26 return ! (static_cast<const T*>(this))->boolean_test();
30 prefix_ senf::SafeBool<T>::~SafeBool()
33 template <typename T, typename U>
34 prefix_ void senf::operator==(const SafeBool<T>& lhs, const SafeBool<U>& rhs)
36 lhs.this_type_does_not_support_comparisons();
39 template <typename T, typename U>
40 prefix_ void senf::operator!=(const SafeBool<T>& lhs, const SafeBool<U>& rhs)
42 lhs.this_type_does_not_support_comparisons();
45 ///////////////////////////////cti.e///////////////////////////////////////
52 // c-file-style: "senf"
53 // indent-tabs-mode: nil
54 // ispell-local-dictionary: "american"