23 General utilities library [utilities]

23.14 Function objects [function.objects]

23.14.13 Polymorphic function wrappers [func.wrap]

23.14.13.2 Class template function [func.wrap.func]

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