20 General utilities library [utilities]

20.14 Function objects [function.objects]

20.14.12 Polymorphic function wrappers [func.wrap]

20.14.12.2 Class template function [func.wrap.func]

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

R operator()(ArgTypes... args) const;

Returns: INVOKE(f, std::forward<ArgTypes>(args)..., R) ([func.require]), where f is the target object ([func.def]) of *this.

Throws: bad_function_call if !*this; otherwise, any exception thrown by the wrapped callable object.