### 30.9.2 Class template basic_filebuf [filebuf]

```
basic_filebuf& operator=(basic_filebuf&& rhs);
```

Effects: Calls close() then move assigns from rhs. After the
move assignment *this has the observable state it would have had if it
had been move constructed from rhs (see [filebuf.cons]).

```
void swap(basic_filebuf& rhs);
```

Effects: Exchanges the state of *this
and rhs.

```
template <class charT, class traits>
void swap(basic_filebuf<charT, traits>& x,
basic_filebuf<charT, traits>& y);
```

Effects: As if by x.swap(y).