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