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...)>)