std::shared_ptr man page on RedHat
[printable version]
std::shared_ptr< _Tp >(3) std::shared_ptr< _Tp >(3)
NAME
std::shared_ptr< _Tp > -
SYNOPSIS
Inherits std::__shared_ptr< _Tp, _Lp >.
Public Types
typedef _Tp element_type
Public Member Functions
constexpr shared_ptr () noexcept
shared_ptr (const shared_ptr &) noexcept=default
template<typename _Tp1 > shared_ptr (_Tp1 *__p)
template<typename _Tp1 , typename _Deleter > shared_ptr (_Tp1 *__p,
_Deleter __d)
template<typename _Deleter > shared_ptr (nullptr_t __p, _Deleter __d)
template<typename _Tp1 , typename _Deleter , typename _Alloc >
shared_ptr (_Tp1 *__p, _Deleter __d, _Alloc __a)
template<typename _Deleter , typename _Alloc > shared_ptr (nullptr_t
__p, _Deleter __d, _Alloc __a)
template<typename _Tp1 > shared_ptr (const shared_ptr< _Tp1 > &__r, _Tp
*__p) noexcept
template<typename _Tp1 , typename = typename
std::enable_if<std::is_convertible<_Tp1*, _Tp*>::value>::type>
shared_ptr (const shared_ptr< _Tp1 > &__r) noexcept
shared_ptr (shared_ptr &&__r) noexcept
template<typename _Tp1 , typename = typename
std::enable_if<std::is_convertible<_Tp1*, _Tp*>::value>::type>
shared_ptr (shared_ptr< _Tp1 > &&__r) noexcept
template<typename _Tp1 > shared_ptr (const weak_ptr< _Tp1 > &__r)
template<typename _Tp1 , typename _Del > shared_ptr (std::unique_ptr<
_Tp1, _Del > &&__r)
constexpr shared_ptr (nullptr_t __p) noexcept
template<typename _Tp1 > shared_ptr (std::auto_ptr< _Tp1 > &&__r)
_Tp * get () const noexcept
operator bool () const
std::add_lvalue_reference< _Tp >
::type operator* () const noexcept"
_Tp * operator-> () const noexcept
shared_ptr & operator= (const shared_ptr &) noexcept=default
template<typename _Tp1 > shared_ptr & operator= (const shared_ptr< _Tp1
> &__r) noexcept
shared_ptr & operator= (shared_ptr &&__r) noexcept
template<class _Tp1 > shared_ptr & operator= (shared_ptr< _Tp1 > &&__r)
noexcept
template<typename _Tp1 , typename _Del > shared_ptr & operator=
(std::unique_ptr< _Tp1, _Del > &&__r)
template<typename _Tp1 > bool owner_before (__shared_ptr< _Tp1, _Lp >
const &__rhs) const
template<typename _Tp1 > bool owner_before (__weak_ptr< _Tp1, _Lp >
const &__rhs) const
void reset () noexcept
template<typename _Tp1 > void reset (_Tp1 *__p)
template<typename _Tp1 , typename _Deleter > void reset (_Tp1 *__p,
_Deleter __d)
template<typename _Tp1 , typename _Deleter , typename _Alloc > void
reset (_Tp1 *__p, _Deleter __d, _Alloc __a)
void swap (__shared_ptr< _Tp, _Lp > &__other) noexcept
bool unique () const noexcept
long use_count () const noexcept
Friends
template<typename _Tp1 , typename _Alloc , typename... _Args>
shared_ptr< _Tp1 > allocate_shared (const _Alloc &__a, _Args
&&...__args)
Detailed Description
template<typename _Tp>class std::shared_ptr< _Tp >
A smart pointer with reference-counted copy semantics.
The object pointed to is deleted when the last shared_ptr pointing to
it is destroyed or reset.
Definition at line 93 of file shared_ptr.h.
Constructor & Destructor Documentation
template<typename _Tp> constexpr std::shared_ptr< _Tp >::shared_ptr ()
[inline], [noexcept]
Construct an empty shared_ptr.
Postcondition:
use_count()==0 && get()==0
Definition at line 100 of file shared_ptr.h.
template<typename _Tp> template<typename _Tp1 > std::shared_ptr< _Tp
>::shared_ptr (_Tp1 *__p) [inline], [explicit]
Construct a shared_ptr that owns the pointer __p.
Parameters:
__p A pointer that is convertible to element_type*.
Postcondition:
use_count() == 1 && get() == __p
Exceptions:
std::bad_alloc,in which case delete __p is called.
Definition at line 112 of file shared_ptr.h.
template<typename _Tp> template<typename _Tp1 , typename _Deleter >
std::shared_ptr< _Tp >::shared_ptr (_Tp1 *__p, _Deleter__d) [inline]
Construct a shared_ptr that owns the pointer __p and the deleter __d.
Parameters:
__p A pointer.
__d A deleter.
Postcondition:
use_count() == 1 && get() == __p
Exceptions:
std::bad_alloc,in which case __d(__p) is called.
Requirements: _Deleter's copy constructor and destructor must not throw
__shared_ptr will release __p by calling __d(__p)
Definition at line 129 of file shared_ptr.h.
template<typename _Tp> template<typename _Deleter > std::shared_ptr< _Tp
>::shared_ptr (nullptr_t__p, _Deleter__d) [inline]
Construct a shared_ptr that owns a null pointer and the deleter __d.
Parameters:
__p A null pointer constant.
__d A deleter.
Postcondition:
use_count() == 1 && get() == __p
Exceptions:
std::bad_alloc,in which case __d(__p) is called.
Requirements: _Deleter's copy constructor and destructor must not throw
The last owner will call __d(__p)
Definition at line 146 of file shared_ptr.h.
template<typename _Tp> template<typename _Tp1 , typename _Deleter ,
typename _Alloc > std::shared_ptr< _Tp >::shared_ptr (_Tp1 *__p,
_Deleter__d, _Alloc__a) [inline]
Construct a shared_ptr that owns the pointer __p and the deleter __d.
Parameters:
__p A pointer.
__d A deleter.
__a An allocator.
Postcondition:
use_count() == 1 && get() == __p
Exceptions:
std::bad_alloc,in which case __d(__p) is called.
Requirements: _Deleter's copy constructor and destructor must not throw
_Alloc's copy constructor and destructor must not throw.
__shared_ptr will release __p by calling __d(__p)
Definition at line 165 of file shared_ptr.h.
template<typename _Tp> template<typename _Deleter , typename _Alloc >
std::shared_ptr< _Tp >::shared_ptr (nullptr_t__p, _Deleter__d,
_Alloc__a) [inline]
Construct a shared_ptr that owns a null pointer and the deleter __d.
Parameters:
__p A null pointer constant.
__d A deleter.
__a An allocator.
Postcondition:
use_count() == 1 && get() == __p
Exceptions:
std::bad_alloc,in which case __d(__p) is called.
Requirements: _Deleter's copy constructor and destructor must not throw
_Alloc's copy constructor and destructor must not throw.
The last owner will call __d(__p)
Definition at line 184 of file shared_ptr.h.
template<typename _Tp> template<typename _Tp1 > std::shared_ptr< _Tp
>::shared_ptr (const shared_ptr< _Tp1 > &__r, _Tp *__p) [inline],
[noexcept]
Constructs a shared_ptr instance that stores __p and shares ownership
with __r.
Parameters:
__r A shared_ptr.
__p A pointer that will remain valid while *__r is valid.
Postcondition:
get() == __p && use_count() == __r.use_count()
This can be used to construct a shared_ptr to a sub-object of an object
managed by an existing shared_ptr.
* shared_ptr< pair<int,int> > pii(new pair<int,int>());
* shared_ptr<int> pi(pii, &pii->first);
* assert(pii.use_count() == 2);
*
Definition at line 206 of file shared_ptr.h.
template<typename _Tp> template<typename _Tp1 , typename = typename
std::enable_if<std::is_convertible<_Tp1*, _Tp*>::value>::type>
std::shared_ptr< _Tp >::shared_ptr (const shared_ptr< _Tp1 > &__r)
[inline], [noexcept]
If __r is empty, constructs an empty shared_ptr; otherwise construct a
shared_ptr that shares ownership with __r.
Parameters:
__r A shared_ptr.
Postcondition:
get() == __r.get() && use_count() == __r.use_count()
Definition at line 218 of file shared_ptr.h.
template<typename _Tp> std::shared_ptr< _Tp >::shared_ptr (shared_ptr< _Tp
> &&__r) [inline], [noexcept]
Move-constructs a shared_ptr instance from __r.
Parameters:
__r A shared_ptr rvalue.
Postcondition:
*this contains the old value of __r, __r is empty.
Definition at line 226 of file shared_ptr.h.
template<typename _Tp> template<typename _Tp1 , typename = typename
std::enable_if<std::is_convertible<_Tp1*, _Tp*>::value>::type>
std::shared_ptr< _Tp >::shared_ptr (shared_ptr< _Tp1 > &&__r) [inline],
[noexcept]
Move-constructs a shared_ptr instance from __r.
Parameters:
__r A shared_ptr rvalue.
Postcondition:
*this contains the old value of __r, __r is empty.
Definition at line 236 of file shared_ptr.h.
template<typename _Tp> template<typename _Tp1 > std::shared_ptr< _Tp
>::shared_ptr (const weak_ptr< _Tp1 > &__r) [inline], [explicit]
Constructs a shared_ptr that shares ownership with __r and stores a
copy of the pointer stored in __r.
Parameters:
__r A weak_ptr.
Postcondition:
use_count() == __r.use_count()
Exceptions:
bad_weak_ptr when __r.expired(), in which case the constructor has
no effect.
Definition at line 248 of file shared_ptr.h.
template<typename _Tp> constexpr std::shared_ptr< _Tp >::shared_ptr
(nullptr_t__p) [inline], [noexcept]
Construct an empty shared_ptr.
Parameters:
__p A null pointer constant.
Postcondition:
use_count() == 0 && get() == nullptr
Definition at line 265 of file shared_ptr.h.
Friends And Related Function Documentation
template<typename _Tp> template<typename _Tp1 , typename _Alloc ,
typename... _Args> shared_ptr<_Tp1> allocate_shared (const _Alloc &__a,
_Args &&...__args) [friend]
Create an object that is owned by a shared_ptr.
Parameters:
__a An allocator.
__args Arguments for the _Tp object's constructor.
Returns:
A shared_ptr that owns the newly created object.
Exceptions:
An exception thrown from _Alloc::allocate or from the constructor
of _Tp.
A copy of __a will be used to allocate memory for the shared_ptr and
the new object.
Definition at line 595 of file shared_ptr.h.
Author
Generated automatically by Doxygen for libstdc++ from the source code.
libstdc++ Wed Nov 6 2013 std::shared_ptr< _Tp >(3)
[top]
List of man pages available for RedHat
Copyright (c) for man pages and the logo by the respective OS vendor.
For those who want to learn more, the polarhome community provides shell access and support.
[legal]
[privacy]
[GNU]
[policy]
[cookies]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
|
Vote for polarhome
|