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
Advertisements