cppreference.com
Search
Create account
Log in
Namespaces
Page
Discussion
Variants
Views
View
Edit
History
Actions
std::shared_ptr::
swap
From cppreference.com
<
cpp
|
memory
|
shared ptr
C++
Language
Standard library headers
Concepts
Utilities library
Strings library
Containers library
Algorithms library
Iterators library
Numerics library
Input/output library
Localizations library
Regular expressions library
(C++11)
Atomic operations library
(C++11)
Thread support library
(C++11)
Technical Specifications
[edit]
Utilities library
Type support
(basic types, RTTI, type traits)
Dynamic memory management
Error handling
Program utilities
Variadic functions
Date and time
Function objects
initializer_list
(C++11)
bitset
hash
(C++11)
Relational operators
rel_ops::operator!=
rel_ops::operator>
rel_ops::operator<=
rel_ops::operator>=
Pairs and tuples
pair
tuple
(C++11)
piecewise_construct_t
(C++11)
piecewise_construct
(C++11)
integer_sequence
(C++14)
Swap, forward and move
swap
exchange
(C++14)
forward
(C++11)
move
(C++11)
move_if_noexcept
(C++11)
Type operations
declval
(C++11)
as_const
(C++17)
[edit]
Dynamic memory management
Smart pointers
unique_ptr
(C++11)
shared_ptr
(C++11)
weak_ptr
(C++11)
auto_ptr
(until C++17)
owner_less
(C++11)
enable_shared_from_this
(C++11)
bad_weak_ptr
(C++11)
default_delete
(C++11)
Allocators
allocator
allocator_traits
(C++11)
allocator_arg_t
(C++11)
allocator_arg
(C++11)
uses_allocator
(C++11)
scoped_allocator_adaptor
(C++11)
Uninitialized storage
uninitialized_copy
uninitialized_copy_n
(C++11)
uninitialized_fill
uninitialized_fill_n
raw_storage_iterator
get_temporary_buffer
return_temporary_buffer
Garbage collection support
declare_reachable
(C++11)
undeclare_reachable
(C++11)
declare_no_pointers
(C++11)
undeclare_no_pointers
(C++11)
pointer_safety
(C++11)
get_pointer_safety
(C++11)
Miscellaneous
pointer_traits
(C++11)
addressof
(C++11)
align
(C++11)
C Library
malloc
calloc
realloc
free
Low level memory management
[edit]
std::shared_ptr
Member functions
shared_ptr::shared_ptr
shared_ptr::~shared_ptr
shared_ptr::operator=
Modifiers
shared_ptr::reset
shared_ptr::swap
Observers
shared_ptr::get
shared_ptr::operator*
shared_ptr::operator->
shared_ptr::use_count
shared_ptr::unique
shared_ptr::operator bool
shared_ptr::owner_before
Non-member functions
std::swap
make_shared
allocate_shared
static_pointer_cast
dynamic_pointer_cast
const_pointer_cast
get_deleter
operator==
operator|=
operator<
operator<=
operator>
operator>=
operator<<
atomic_is_lock_free
atomic_load
atomic_load_explicit
atomic_store
atomic_store_explicit
atomic_exchange
atomic_exchange_explicit
atomic_compare_exchange_weak
atomic_compare_exchange_strong
atomic_compare_exchange_weak_explicit
atomic_compare_exchange_strong_explicit
std::hash
[edit]
void
swap
(
shared_ptr
&
r
)
;
(since C++11)
Exchanges the contents of
*
this
and
r
[
edit
]
Parameters
r
-
smart pointer to exchange the contents with
[
edit
]
Return value
(none)
[
edit
]
Exceptions
noexcept
specification:
noexcept
Category
:
unconditionally noexcept