diff --git a/include/trompeloeil.hpp b/include/trompeloeil.hpp index cf47216c..48251580 100644 --- a/include/trompeloeil.hpp +++ b/include/trompeloeil.hpp @@ -1054,8 +1054,18 @@ template }; struct indirect_null { - template ())> - R operator==(T const&) const; + template + using memfunptr = T (C::*)(As...); + template + operator T*() const; + template + operator T**() const; + template + operator T C::*() const; + template + operator memfunptr () const; + + operator std::nullptr_t() const; }; template @@ -1246,6 +1256,15 @@ template } } + inline + void + print( + std::ostream& os, + std::nullptr_t) + { + os << "nullptr"; + } + inline constexpr auto