std::function_ref
<functional>
class function_ref; // not defined
class function_ref<R(Args...)>;
template< class R, class... Args >
class function_ref<R(Args...) noexcept>;
template< class R, class... Args >
class function_ref<R(Args...) const>;
template< class R, class... Args >
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 (excluding volatile), and noexcept-specifiers provided in its template parameter.
Every specialization of std::function_ref is a TriviallyCopyable type that satisfies copyable.
Contents
[edit] Member types
BoundEntityType (private)
unspecified TriviallyCopyable type that satisfies copyable and is capable of storing a pointer to object value or pointer to function value(exposition-only member type*)
FunctionPointerType (private)
R(*)(BoundEntityType , Args&&...) noexcept(noex )
where noex is true if noexcept is present in function signature as part of the template parameter of std::function_ref, false otherwise
(exposition-only member type*)
[edit] Data members
BoundEntityType bound-entity
a bound entity object(exposition-only member object*)
FunctionPointerType thunk-ptr
a stored pointer to function(exposition-only member object*)
[edit] Member functions
[edit] Deduction guides
[edit] Notes
| Feature-test macro | Value | Std | Feature |
|---|---|---|---|
__cpp_lib_function_ref |
202306L |
(C++26) | std::function_ref
|
[edit] Example
Reason: example
[edit] See also
(class template) [edit]
(class template) [edit]