GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::function::operator=(3) C++ Standard Libary std::function::operator=(3)

std::function::operator= - std::function::operator=


function& operator=( const function& other ); (1) (since C++11)
function& operator=( function&& other ); (2) (since C++11)
function& operator=( std::nullptr_t ) noexcept; (3) (since C++11)
template< class F > (4) (since C++11)
function& operator=( F&& f );
template< class F > (5) (since C++11)
function& operator=( std::reference_wrapper<F> f ) noexcept;


Assigns a new target to std::function.


1) Assigns a copy of target of other, as if by executing
function(other).swap(*this);
2) Moves the target of other to *this. other is in a valid state with an unspecified
value.
3) Drops the current target. *this is empty after the call.
4) Sets the target of *this to the callable f, as if by executing
function(std::forward<F>(f)).swap(*this);. This operator does not participate in
overload resolution unless f is Callable for argument types Args... and return type
R.
5) Sets the target of *this to a copy of f, as if by executing
function(f).swap(*this);


other - another std::function object to copy the target of
f - a callable to initialize the target with


-
F must meet the requirements of Callable.


*this


Even before allocator support was removed from std::function in C++17, these
assignment operators use the default allocator rather than the allocator of *this or
the allocator of other (see LWG issue 2386).


Defect reports


The following behavior-changing defect reports were applied retroactively to
previously published C++ standards.


DR Applied to Behavior as published Correct behavior
LWG 2132 C++11 the overload taking a Callable object might be constrained
ambiguous
LWG 2401 C++11 assignment operator from std::nullptr_t not required
required to be noexcept


operator= replaces or destroys the target
(C++23) (public member function of std::move_only_function)
assign assigns a new target
(removed in C++17) (public member function)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.