Why has std::swap
been moved to the <utility>
header for C++11?
N3290 C.2.7 says:
17.6.3.2
Effect on original feature: Function swap moved to a different header
Rationale: Remove dependency on
<algorithm>
for swap.Effect on original feature: Valid C++ 2003 code that has been compiled expecting swap to be in
<algorithm>
may have to instead include<utility>
.
I can't understand the part in bold. What kind of dependency is being talked about and why?