mirror of
https://github.com/pocoproject/poco.git
synced 2024-12-13 18:45:10 +01:00
#2172: Add Poco::AutoPtr::reset() and Poco::SharedPtr::reset()
This commit is contained in:
parent
db1ee417ab
commit
2870dd898c
@ -139,6 +139,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);
|
||||
|
@ -77,7 +77,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
~SharedPtr()
|
||||
~SharedPtr() noexcept
|
||||
{
|
||||
}
|
||||
|
||||
@ -108,6 +108,27 @@ public:
|
||||
return *this;
|
||||
}
|
||||
|
||||
void reset() noexcept
|
||||
{
|
||||
_ptr.reset();
|
||||
}
|
||||
|
||||
void reset(C* ptr)
|
||||
{
|
||||
_ptr.reset(ptr);
|
||||
}
|
||||
|
||||
void reset(const SharedPtr& ptr)
|
||||
{
|
||||
assign(ptr);
|
||||
}
|
||||
|
||||
template <class Other>
|
||||
void reset(const SharedPtr<Other>& ptr)
|
||||
{
|
||||
assign<Other>(ptr);
|
||||
}
|
||||
|
||||
SharedPtr& operator = (C* ptr)
|
||||
{
|
||||
return assign(ptr);
|
||||
|
Loading…
Reference in New Issue
Block a user