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.7 Specialized algorithms [func.wrap.func.alg]

template<class R, class... ArgTypes> void swap(function<R(ArgTypes...)>& f1, function<R(ArgTypes...)>& f2) noexcept;
Effects: As if by: f1.swap(f2);