19 General utilities library [utilities]

19.14 Function objects [function.objects]

19.14.14 Polymorphic function wrappers [func.wrap]

19.14.14.2 Class template function [func.wrap.func]

19.14.14.2.4 function invocation [func.wrap.func.inv]

R operator()(ArgTypes... args) const;
Returns: INVOKE<R>(f, std​::​forward<ArgTypes>(args)...) ([func.require]), where f is the target object of *this.
Throws: bad_­function_­call if !*this; otherwise, any exception thrown by the wrapped callable object.