22
General utilities library
[utilities]
22.10
Function objects
[function.objects]
22.10.13
Function template
not_
fn
[func.not.fn]
🔗
template
<
class
F
>
constexpr
unspecified
not_fn
(
F
&
&
f
)
;
1
#
In the text that follows:
(1.1)
g
is a value of the result of a
not_
fn
invocation,
(1.2)
FD
is the type
decay_
t
<
F
>
,
(1.3)
fd
is the target object of
g
(
[func.
def]
) of type
FD
, direct-non-list-initialized with
std
::
forward
<
F
>
(
f
)
,
(1.4)
call_
args
is an argument pack used in a function call expression (
[expr.
call]
) of
g
.
2
#
Mandates
:
is_
constructible_
v
<
FD, F
>
&
&
is_
move_
constructible_
v
<
FD
>
is
true
.
3
#
Preconditions
:
FD
meets the
Cpp17MoveConstructible
requirements
.
4
#
Returns
: A perfect forwarding call wrapper (
[func.
require]
)
g
with call pattern
!
invoke
(
fd, call_
args
.
.
.
)
.
5
#
Throws
: Any exception thrown by the initialization of
fd
.