[streambuf.cons] # 31 Input/output library [[input.output]](./#input.output) ## 31.6 Stream buffers [[stream.buffers]](stream.buffers#streambuf.cons) ### 31.6.3 Class template basic_streambuf [[streambuf]](streambuf#cons) #### 31.6.3.2 Constructors [streambuf.cons] [🔗](#lib:basic_streambuf,constructor) `basic_streambuf(); ` [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3112) *Effects*: Initializes:[266](#footnote-266 "The default constructor is protected for class basic_­streambuf to assure that only objects for classes derived from this class can be constructed.") - [(1.1)](#1.1) all pointer member objects to null pointers, - [(1.2)](#1.2) thegetloc() member to a copy of the global locale,locale(), at the time of construction[.](#1.sentence-1) [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3132) *Remarks*: Once thegetloc() member is initialized, results of calling locale member functions, and of members of facets so obtained, can safely be cached until the next time the memberimbue is called[.](#2.sentence-1) [🔗](#lib:basic_streambuf,constructor_) `basic_streambuf(const basic_streambuf& rhs); ` [3](#3) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3149) *Postconditions*: - [(3.1)](#3.1) eback() == rhs.eback() - [(3.2)](#3.2) gptr() == rhs.gptr() - [(3.3)](#3.3) egptr() == rhs.egptr() - [(3.4)](#3.4) pbase() == rhs.pbase() - [(3.5)](#3.5) pptr() == rhs.pptr() - [(3.6)](#3.6) epptr() == rhs.epptr() - [(3.7)](#3.7) getloc() == rhs.getloc() [🔗](#lib:basic_streambuf,destructor) `~basic_streambuf(); ` [4](#4) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3168) *Effects*: None[.](#4.sentence-1) [266)](#footnote-266)[266)](#footnoteref-266) The default constructor is protected for classbasic_streambuf to assure that only objects for classes derived from this class can be constructed[.](#footnote-266.sentence-1)