table of contents
std::function_ref(3) | C++ Standard Libary | std::function_ref(3) |
NAME¶
std::function_ref - std::function_ref
Synopsis¶
Defined in header <functional>
template< class... > (1) (since C++26)
class function_ref; // not defined
template< class R, class... Args >
class function_ref<R(Args...)>;
template< class R, class... Args >
class function_ref<R(Args...) noexcept>; (2) (since C++26)
template< class R, class... Args >
class function_ref<R(Args...) const>;
template< class R, class... Args >
class function_ref<R(Args...) const noexcept>;
Class template std::function_ref is a non-owning function wrapper.
std::function_ref
objects can store and invoke reference to Callable target - functions, lambda
expressions, bind expressions, or other function objects, but not pointers to
member
functions and pointers to member objects. std::nontype can be used to
construct
std::function_ref by passing function pointers, pointers to member functions,
and
pointers to member objects.
std::function_refs supports every possible combination of cv-qualifiers, and
noexcept-specifiers not including volatile provided in its template
parameter.
Every specialization of std::function_ref is a TriviallyCopyable type that
satisfies
copyable.
Member objects¶
Member name Definition
an object that has an unspecified TriviallyCopyable type
BoundEntityType, that satisfies copyable and is capable of
bound-entity (private) storing a pointer to object value or pointer to
function
value
(exposition-only member object*)
a pointer to function of type R(*)(BoundEntityType,
Args&&...) noexcept(/*noex*/) where /*noex*/ is true if
thunk-ptr (private) noexcept is present in function signature as part of the
template parameter of std::function_ref
(exposition-only member object*)
Member functions¶
constructor constructs a new function_ref object
(C++26) (public member function)
operator= assigns a function_ref
(C++26) (public member function)
operator() invokes the stored thunk of a function_ref
(C++26) (public member function)
Deduction guides
Notes¶
Feature-test macro Value Std Feature
__cpp_lib_function_ref 202306L (C++26) std::function_ref
Example¶
This section is incomplete
Reason: example
See also¶
function wraps callable object of any copy constructible type
with
(C++11) specified function call signature
(class template)
copyable_function refinement of std::move_only_function that wraps callable
object
(C++26) of any copy constructible type
(class template)
move_only_function wraps callable object of any type with specified function
call
(C++23) signature
(class template)
nontype value construction tag
nontype_t (tag)
(C++26)
Category:¶
* Todo with reason
2024.06.10 | http://cppreference.com |