[streambuf.locales]

# 31 Input/output library [[input.output]](./#input.output)

## 31.6 Stream buffers [[stream.buffers]](stream.buffers#streambuf.locales)

### 31.6.3 Class template basic_streambuf [[streambuf]](streambuf#locales)

#### 31.6.3.3 Public member functions [[streambuf.members]](streambuf.members#streambuf.locales)

#### 31.6.3.3.1 Locales [streambuf.locales]

[ð](#lib:pubimbue,basic_streambuf)

`locale pubimbue(const locale& loc);
`

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3183)

*Effects*: Callsimbue(loc)[.](#1.sentence-1)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3188)

*Postconditions*: loc == getloc()[.](#2.sentence-1)

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3192)

*Returns*: Previous value ofgetloc()[.](#3.sentence-1)

[ð](#lib:getloc,basic_streambuf)

`locale getloc() const;
`

[4](#4)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3204)

*Returns*: Ifpubimbue() has ever been called, then the last value of loc supplied,
otherwise the current global locale,locale(),
in effect at the time of construction[.](#4.sentence-1)

If called afterpubimbue() has been called but beforepubimbue has returned (i.e., from within the call ofimbue())
then it returns the previous value[.](#4.sentence-2)
