Add operator==() and operator!=()
This commit is contained in:
parent
47273edf6e
commit
4a1a0c8855
@ -105,6 +105,26 @@ public:
|
||||
return ptr != nullptr;
|
||||
}
|
||||
|
||||
bool operator==(const rcp<T> & other) const
|
||||
{
|
||||
return ptr == other.ptr;
|
||||
}
|
||||
|
||||
bool operator!=(const rcp<T> & other) const
|
||||
{
|
||||
return ptr != other.ptr;
|
||||
}
|
||||
|
||||
bool operator==(std::nullptr_t) const
|
||||
{
|
||||
return ptr == nullptr;
|
||||
}
|
||||
|
||||
bool operator!=(std::nullptr_t) const
|
||||
{
|
||||
return ptr != nullptr;
|
||||
}
|
||||
|
||||
template <typename... Args>
|
||||
static rcp<T> create(Args&&... args)
|
||||
{
|
||||
|
||||
@ -68,14 +68,19 @@ void test_dereference()
|
||||
assert(mybase->y == 3);
|
||||
assert((*mybase).x == 2);
|
||||
assert((*mybase).y == 3);
|
||||
rcp<MyBase> mybase2 = mybase;
|
||||
assert(mybase == mybase2);
|
||||
assert(!(mybase != mybase2));
|
||||
}
|
||||
|
||||
void test_booleans()
|
||||
{
|
||||
rcp<MyBase> mybase = MyBase::create(2, 3);
|
||||
assert(mybase);
|
||||
assert(mybase != nullptr);
|
||||
rcp<MyDerived> myderived;
|
||||
assert(!myderived);
|
||||
assert(myderived == nullptr);
|
||||
}
|
||||
|
||||
void test_create()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user