30 Localization library [localization]

30.4 Standard locale categories [locale.categories]

30.4.1 General [locale.categories.general]

Each of the standard categories includes a family of facets.
Some of these implement formatting or parsing of a datum, for use by standard or users' iostream operators << and >>, as members put() and get(), respectively.
Each such member function takes an ios_­base& argument whose members flags(), precision(), and width(), specify the format of the corresponding datum ([ios.base]).
Those functions which need to use other facets call its member getloc() to retrieve the locale imbued there.
Formatting facets use the character argument fill to fill out the specified width where necessary.
The put() members make no provision for error reporting.
(Any failures of the OutputIterator argument can be extracted from the returned iterator.)
The get() members take an ios_­base​::​iostate& argument whose value they ignore, but set to ios_­base​::​failbit in case of a parse error.
Within subclause [locale.categories] it is unspecified whether one virtual function calls another virtual function.