С++ 11 §27.5.4.2/21:
void swap(basic_ios& rhs);Эффекты: состояния обмена
*thisиrhsдолжны быть заменены, за исключением того, чтоrdbuf()возвращает то же значение, что и перед вызовом функции, аrhs.rdbuf()возвращает то же значение, что и ранее вызов функции.
Что такое частичная свопинг, полезная для?
Может ли это вызвать проблемы?