[streambuf.assign] # 31 Input/output library [[input.output]](./#input.output) ## 31.6 Stream buffers [[stream.buffers]](stream.buffers#streambuf.assign) ### 31.6.3 Class template basic_streambuf [[streambuf]](streambuf#assign) #### 31.6.3.4 Protected member functions [[streambuf.protected]](streambuf.protected#streambuf.assign) #### 31.6.3.4.1 Assignment [streambuf.assign] [🔗](#lib:operator=,basic_streambuf) `basic_streambuf& operator=(const basic_streambuf& rhs); ` [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3426) *Postconditions*: - [(1.1)](#1.1) eback() == rhs.eback() - [(1.2)](#1.2) gptr() == rhs.gptr() - [(1.3)](#1.3) egptr() == rhs.egptr() - [(1.4)](#1.4) pbase() == rhs.pbase() - [(1.5)](#1.5) pptr() == rhs.pptr() - [(1.6)](#1.6) epptr() == rhs.epptr() - [(1.7)](#1.7) getloc() == rhs.getloc() [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3438) *Returns*: *this[.](#2.sentence-1) [🔗](#lib:swap,basic_streambuf) `void swap(basic_streambuf& rhs); ` [3](#3) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3449) *Effects*: Swaps the data members of rhs and *this[.](#3.sentence-1)