C++ Functional Library - constructor
Description
It constructs a std::function from a variety of sources.
Declaration
Following is the declaration for std::function.
C++11
The following are creating an empty function.
function(); function( std::nullptr_t );
Exceptions
noexcept:noexcept specification.
Copy and Move
The following functions are Copying or moving the target of other to the target of *this. If other is empty, *this will be empty after the call too.
function( const function& other ); function( function&& other );
Exceptions
noexcept:noexcept specification.
Initialize the target
The following functions is initializing the target with a copy of f. If f is a null pointer to function or null pointer to member, *this will be empty after the call. This constructor does not participate in overload resolution unless f is Callable for argument types Args and return type R
template< class F > function( F f );
Exceptions
noexcept:noexcept specification.
Allowcate the memory
The following functions are same as just that alloc is used to allocate memory for any internal data structures that the function might use.
template< class Alloc >
function( std::allocator_arg_t, const Alloc& alloc );
template< class Alloc >
function( std::allocator_arg_t, const Alloc& alloc,
std::nullptr_t );
template< class Alloc >
function( std::allocator_arg_t, const Alloc& alloc,
const function& other );
template< class Alloc >
function( std::allocator_arg_t, const Alloc& alloc,
function&& other );
template< class F, class Alloc >
function( std::allocator_arg_t, const Alloc& alloc, F f );
Exceptions
noexcept:noexcept specification.
Parameters
other − This function object used to initialize *this.
f − a callable used to initialize *this.
alloc − It is used for internal memory allocation.
functional.htm