Scroll to navigation

std::experimental::function(3) C++ Standard Libary std::experimental::function(3)

NAME

std::experimental::function - std::experimental::function

Synopsis


Defined in header <experimental/functional>
template< class > (library fundamentals TS)
class function; /* undefined */
template< class R, class... Args > (library fundamentals TS)
class function<R(Args...)>


std::experimental::function is a modified version of std::function with support for
type-erased allocators.

Member types


Type Definition
std::experimental::erased_type (library fundamentals TS)
allocator_type (until library fundamentals TS v3)
std::pmr::polymorphic_allocator<> (library fundamentals TS v3)

Member functions


constructs a new std::experimental::function
constructor instance
(public member function)
operator= assigns a new target
(public member function)
swap swaps the contents
(public member function)
get_memory_resource retrieves a pointer to the memory resource used by
(removed in library fundamentals this object to allocate memory
TS v3) (public member function)
retrieves a type-erased
get_allocator std::pmr::polymorphic_allocator used by this object
(library fundamentals TS v3) to allocate memory
(public member function)

Non-member functions


std::experimental::swap(std::experimental::function) specializes the swap algorithm
(function template)
operator== compares an
operator!= std::experimental::function
(removed in library fundamentals TS v3) with nullptr
(function template)

Helper classes


specializes the std::uses_allocator
std::uses_allocator<std::experimental::function> type trait
(removed in library fundamentals TS v3) (class template specialization)

Members identical to std::function

Member types


Type Definition
result_type R
Member types removed in Library Fundamental TS v3
argument_type T if sizeof...(Args) == 1 and T is the first and only type in
Args...
first_argument_type T1 if sizeof...(Args) == 2 and T1 is the first of the two types
in Args...
second_argument_type T2 if sizeof...(Args) == 2 and T2 is the second of the two
types in Args...


Member types argument_type, first_argument_type, and (library fundamentals TS
second_argument_type are removed, because the correponding v3)
member types of std::function are removed in C++20.

Member functions


destructor destroys a std::function instance
(public member function of std::function<R(Args...)>)
operator bool checks if a target is contained
(public member function of std::function<R(Args...)>)
operator() invokes the target
(public member function of std::function<R(Args...)>)

Target access


target_type obtains the typeid of the stored target
(public member function of std::function<R(Args...)>)
target obtains a pointer to the stored target
(public member function of std::function<R(Args...)>)

2024.06.10 http://cppreference.com