19 General utilities library [utilities]

19.14 Function objects [function.objects]

19.14.12 Function template not_­fn [func.not_fn]

template<class F> unspecified not_fn(F&& f);
In the text that follows:
Mandates: is_­constructible_­v<FD, F> && is_­move_­constructible_­v<FD> shall be true.
Expects: FD shall meet the requirements of Cpp17MoveConstructible.
Returns: A perfect forwarding call wrapper g with call pattern !invoke(fd, call_­args...).
Throws: Any exception thrown by the initialization of fd.