mirror of
https://github.com/pocoproject/poco.git
synced 2025-01-31 14:39:53 +01:00
#2172: Add Poco::AutoPtr::reset() and Poco::SharedPtr::reset()
This commit is contained in:
parent
cf73cfad58
commit
de0f5a6b76
@ -134,6 +134,36 @@ public:
|
||||
return *this;
|
||||
}
|
||||
|
||||
void reset()
|
||||
{
|
||||
if (_ptr)
|
||||
{
|
||||
_ptr->release();
|
||||
_ptr = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void reset(C* ptr)
|
||||
{
|
||||
assign(ptr);
|
||||
}
|
||||
|
||||
void reset(C* ptr, bool shared)
|
||||
{
|
||||
assign(ptr, shared);
|
||||
}
|
||||
|
||||
void reset(const AutoPtr& ptr)
|
||||
{
|
||||
assign(ptr);
|
||||
}
|
||||
|
||||
template <class Other>
|
||||
void reset(const AutoPtr<Other>& ptr)
|
||||
{
|
||||
assign<Other>(ptr);
|
||||
}
|
||||
|
||||
AutoPtr& operator = (C* ptr)
|
||||
{
|
||||
return assign(ptr);
|
||||
|
@ -182,6 +182,27 @@ public:
|
||||
return *this;
|
||||
}
|
||||
|
||||
void reset()
|
||||
{
|
||||
assign(0);
|
||||
}
|
||||
|
||||
void reset(C* ptr)
|
||||
{
|
||||
assign(ptr);
|
||||
}
|
||||
|
||||
void reset(const SharedPtr& ptr)
|
||||
{
|
||||
assign(ptr);
|
||||
}
|
||||
|
||||
template <class Other, class OtherRP>
|
||||
void reset(const SharedPtr<Other, RC, OtherRP>& ptr)
|
||||
{
|
||||
assign<Other, OtherRP>(ptr);
|
||||
}
|
||||
|
||||
SharedPtr& operator = (C* ptr)
|
||||
{
|
||||
return assign(ptr);
|
||||
|
Loading…
x
Reference in New Issue
Block a user