Allow comparison to nullptr on left side of operator

This commit is contained in:
Josh Holtrop 2026-02-25 08:15:22 -05:00
parent d88922756d
commit b87fbc0d76
2 changed files with 14 additions and 0 deletions

View File

@ -224,6 +224,18 @@ public:
friend rcp<V> rcp_dynamic_cast(rcp<W> && other);
};
template <typename T>
bool operator==(std::nullptr_t, const rcp<T> & p)
{
return p == nullptr;
}
template <typename T>
bool operator!=(std::nullptr_t, const rcp<T> & p)
{
return p != nullptr;
}
namespace std
{
template <typename T>

View File

@ -84,6 +84,8 @@ void test_booleans()
rcp<MyDerived> myderived;
assert(!myderived);
assert(myderived == nullptr);
assert(nullptr != mybase);
assert(nullptr == myderived);
}
void test_create()