19 General utilities library [utilities]

19.14 Function objects [function.objects]

19.14.16 Polymorphic function wrappers [func.wrap]

19.14.16.2 Class template function [func.wrap.func]

19.14.16.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);