This is not in itself, but a modern C ++ API design.
-, Api . ( , , , ).
, , . : fusion/tuple.hpp , IO, , , ( ) : fusion/tuple_io.hpp.
, friend ( ).
" " ADL:
using std::swap;
swap(a, b);
( )
, , OO ( ). , .
. , , :
- , -
.template ( @Simple): .
- ++ 03
std::swap() - ++ 11
std::begin() std::end() std::hash<>, std::less<>, std::greater<>, std::equal_to<> , ( , )