std:: function_ref
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Old binders and adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Defined in header
<functional>
|
||
template
<
class
...
>
class function_ref ; // not defined |
(1) | (since C++26) |
template
<
class
R,
class
...
Args
>
class
function_ref
<
R
(
Args...
)
>
;
|
(2) | (since C++26) |
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_ref
s 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
.
Member objects
Member | Definition |
bound-entity
|
an object that has an unspecified
TriviallyCopyable
type
BoundEntityType
, that satisfies
copyable
and is capable of storing a pointer to object value or pointer to function value
( exposition-only member object* ) |
thunk-ptr
|
a pointer to function of type
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
( exposition-only member object* ) |
Member functions
constructs a new
function_ref
object
(public member function) |
|
assigns a
function_ref
(public member function) |
|
invokes the stored thunk of a
function_ref
(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
(C++11)
|
copyable wrapper of any copy constructible callable object
(class template) |
(C++26)
|
copyable wrapper of any copy constructible callable object that supports qualifiers in a given call signature
(class template) |
(C++23)
|
move-only wrapper of any callable object that supports qualifiers in a given call signature
(class template) |
(C++26)
|
value construction tag
(tag) |