20 General utilities library [utilities]

20.14 Function objects [function.objects]

20.14.16 Polymorphic function wrappers [func.wrap]

20.14.16.2 Class template function [func.wrap.func]

20.14.16.2.4 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.