[streambuf.virt.locales]

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

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

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

#### 31.6.3.5 Virtual functions [[streambuf.virtuals]](streambuf.virtuals#streambuf.virt.locales)

#### 31.6.3.5.1 Locales [streambuf.virt.locales]

[ð](#lib:imbue,basic_streambuf)

`void imbue(const locale&);
`

[1](#1)

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

*Effects*: Change any translations based on locale[.](#1.sentence-1)

[2](#2)

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

*Remarks*: Allows the derived class to be informed of changes in locale at the
time they occur[.](#2.sentence-1)

Between invocations of this function a class derived
from streambuf can safely cache results of calls to locale functions
and to members of facets so obtained[.](#2.sentence-2)

[3](#3)

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

*Default behavior*: Does nothing[.](#3.sentence-1)
