This commit is contained in:
2025-10-25 03:02:53 +03:00
commit 043225d523
3416 changed files with 681196 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
[category.numeric.general]
# 28 Text processing library [[text]](./#text)
## 28.3 Localization library [[localization]](localization#category.numeric.general)
### 28.3.4 Standard locale categories [[locale.categories]](locale.categories#category.numeric.general)
#### 28.3.4.3 The numeric category [[category.numeric]](category.numeric#general)
#### 28.3.4.3.1 General [category.numeric.general]
[1](#1)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L2387)
The classes num_get<> and num_put<> handle numeric formatting and parsing[.](#1.sentence-1)
Virtual functions are provided for several numeric types[.](#1.sentence-2)
Implementations may (but are not required to) delegate
extraction of smaller types to extractors for larger types[.](#1.sentence-3)[223](#footnote-223 "Parsing &quot;-1&quot; correctly into, e.g., an unsigned short requires that the corresponding member get() at least extract the sign before delegating.")
[2](#2)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L2399)
All specifications of member functions for num_put and num_get in the subclauses of [[category.numeric]](category.numeric "28.3.4.3The numeric category") only apply to
the specializations required in Tables [91](locale.category#tab:locale.category.facets "Table 91: Locale category facets") and [92](locale.category#tab:locale.spec "Table 92: Required specializations") ([[locale.category]](locale.category "28.3.3.1.2.1Type locale::category")), namelynum_get<char>,num_get<wchar_t>,num_get<C, InputIterator>,num_put<char>,num_put<wchar_t>, andnum_put<C, OutputIterator>[.](#2.sentence-1)
These specializations refer to the ios_base& argument for
formatting specifications ([[locale.categories]](locale.categories "28.3.4Standard locale categories")),
and to its imbued locale for the numpunct<> facet to
identify all numeric punctuation preferences,
and also for the ctype<> facet to perform character classification[.](#2.sentence-2)
[3](#3)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L2416)
Extractor and inserter members of the standard iostreams usenum_get<> and num_put<> member functions for
formatting and parsing
numeric values ([[istream.formatted.reqmts]](istream.formatted.reqmts "31.7.5.3.1Common requirements"), [[ostream.formatted.reqmts]](ostream.formatted.reqmts "31.7.6.3.1Common requirements"))[.](#3.sentence-1)
[223)](#footnote-223)[223)](#footnoteref-223)
Parsing "-1" correctly into, e.g., an unsigned short requires that the corresponding member get() at least extract the sign before delegating[.](#footnote-223.sentence-1)