|
template< class T > class shared_ptr;
|
|
(library fundamentals TS) |
|
|
|
std::experimental::shared_ptr is a modified version of std::shared_ptr that adds support for arrays.
Member types
Member functions
|
|
constructs new shared_ptr
(public member function) |
Observers
|
|
|
returns the stored pointer
(public member function) |
|
|
dereferences the stored pointer
(public member function) |
|
|
provides index access to the array
(public member function) |
Non-member functions
Helper classes
|
|
hash support for std::experimental::shared_ptr
(class template specialization) |
Members and non-members identical to std::shared_ptr
Member functions
The following member functions work with std::experimental::shared_ptr instead of std::shared_ptr and std::experimental::weak_ptr instead of std::weak_ptr. The behavior is otherwise identical.
|
|
destructs the owned object if no more shared_ptrs link to it
(public member function of std::shared_ptr<T>) |
|
|
assigns the shared_ptr
(public member function of std::shared_ptr<T>) |
Modifiers
|
|
|
replaces the managed object
(public member function of std::shared_ptr<T>) |
|
|
swaps the managed objects
(public member function of std::shared_ptr<T>) |
Observers
|
|
|
returns the number of shared_ptr objects referring to the same managed object
(public member function of std::shared_ptr<T>) |
|
|
checks whether the managed object is managed only by the current shared_ptr instance
(public member function of std::shared_ptr<T>) |
|
|
checks if the stored pointer is not null
(public member function of std::shared_ptr<T>) |
|
|
provides owner-based ordering of shared pointers
(public member function of std::shared_ptr<T>) |
Non-member functions
These non-member functions are declared in the std::experimental namespace, and work with std::experimental::shared_ptr rather than std::shared_ptr, but otherwise behaves identically to the corresponding C++14 function.
|
|
creates a shared pointer that manages a new object
(function template) |
|
|
creates a shared pointer that manages a new object allocated using an allocator
(function template) |
|
|
returns the deleter of specified type, if owned
(function template) |
(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(C++20)
|
compares with another shared_ptr or with nullptr
(function template) |
|
|
outputs the value of the stored pointer to an output stream
(function template) |
|
|
specializes the std::swap algorithm
(function template) |
Helper class templates
These class templates are declared in the std::experimental namespace, and work with std::experimental::shared_ptr and std::experimental::weak_ptr rather than std::shared_ptr and std::weak_ptr, but otherwise behaves identically to the corresponding C++14 class template.
|
|
provides mixed-type owner-based ordering of shared and weak pointers
(class template) |
|
|
allows an object to create a shared_ptr referring to itself
(class template) |
Example