Remove unintended public members of handler_ptr

This commit is contained in:
Vinnie Falco
2017-11-21 14:58:36 -08:00
parent 639266fd64
commit 59107701d2
2 changed files with 16 additions and 12 deletions

View File

@@ -3,6 +3,10 @@ Version 146:
* Fix some typos
* Faster ascii_tolower
API Changes:
* Remove unintended public members of handler_ptr
--------------------------------------------------------------------------------
Version 145:

View File

@@ -41,6 +41,10 @@ namespace beast {
associated with the final handler is used to create the managed
object.
@par Thread Safety
@e Distinct @e objects: Safe.@n
@e Shared @e objects: Unsafe.
@note The reference count is stored using a 16 bit unsigned
integer. Making more than 2^16 copies of one object results
in undefined behavior.
@@ -145,22 +149,12 @@ public:
return p_->handler;
}
/// Returns `true` if `*this` owns an object.
explicit
operator bool() const
{
return p_ && p_->t;
}
/** Returns a pointer to the owned object.
If `*this` owns an object, a pointer to the
object is returned, else `nullptr` is returned.
*/
T*
get() const
{
return p_ ? p_->t : nullptr;
return p_->t;
}
/// Return a reference to the owned object.
@@ -179,7 +173,13 @@ public:
/** Release ownership of the handler
If `*this` owns an object, it is first destroyed.
Requires: `*this` owns an object
Before this function returns,
the owned object is destroyed, satisfying the
deallocation-before-invocation Asio guarantee. All
instances of @ref handler_ptr which refer to the
same owned object will be reset, including this instance.
@return The released handler.
*/