[func.wrap.func.alg]

# 22 General utilities library [[utilities]](./#utilities)

## 22.10 Function objects [[function.objects]](function.objects#func.wrap.func.alg)

### 22.10.17 Polymorphic function wrappers [[func.wrap]](func.wrap#func.alg)

#### 22.10.17.3 Class template function [[func.wrap.func]](func.wrap.func#alg)

#### 22.10.17.3.8 Specialized algorithms [func.wrap.func.alg]

[ð](#lib:swap,function)

`template<class R, class... ArgTypes>
  void swap(function<R(ArgTypes...)>& f1, function<R(ArgTypes...)>& f2) noexcept;
`

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L14080)

*Effects*: As if by: f1.swap(f2);
