31 Input/output library [input.output]

31.10 File-based streams [file.streams]

31.10.4 Class template basic_ifstream [ifstream]

31.10.4.3 Swap [ifstream.swap]

void swap(basic_ifstream& rhs);
Effects: Exchanges the state of *this and rhs by calling basic_istream<charT, traits>​::​swap(rhs) and sb.swap(rhs.sb).
template<class charT, class traits> void swap(basic_ifstream<charT, traits>& x, basic_ifstream<charT, traits>& y);
Effects: Equivalent to x.swap(y).