91 lines
2.9 KiB
Markdown
91 lines
2.9 KiB
Markdown
[facet.numpunct.virtuals]
|
|
|
|
# 28 Text processing library [[text]](./#text)
|
|
|
|
## 28.3 Localization library [[localization]](localization#facet.numpunct.virtuals)
|
|
|
|
### 28.3.4 Standard locale categories [[locale.categories]](locale.categories#facet.numpunct.virtuals)
|
|
|
|
#### 28.3.4.4 The numeric punctuation facet [[facet.numpunct]](facet.numpunct#virtuals)
|
|
|
|
#### 28.3.4.4.1 Class template numpunct [[locale.numpunct]](locale.numpunct#facet.numpunct.virtuals)
|
|
|
|
#### 28.3.4.4.1.3 Virtual functions [facet.numpunct.virtuals]
|
|
|
|
[ð](#lib:numpunct,do_decimal_point)
|
|
|
|
`char_type do_decimal_point() const;
|
|
`
|
|
|
|
[1](#1)
|
|
|
|
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L3262)
|
|
|
|
*Returns*: A character for use as the decimal radix separator[.](#1.sentence-1)
|
|
|
|
The required specializations return '.' or L'.'[.](#1.sentence-2)
|
|
|
|
[ð](#lib:numpunct,do_thousands_sep)
|
|
|
|
`char_type do_thousands_sep() const;
|
|
`
|
|
|
|
[2](#2)
|
|
|
|
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L3274)
|
|
|
|
*Returns*: A character for use as the digit group separator[.](#2.sentence-1)
|
|
|
|
The required specializations return ',' or L','[.](#2.sentence-2)
|
|
|
|
[ð](#lib:numpunct,do_grouping)
|
|
|
|
`string do_grouping() const;
|
|
`
|
|
|
|
[3](#3)
|
|
|
|
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L3286)
|
|
|
|
*Returns*: A string vec used as a vector of integer values,
|
|
in which each element vec[i] represents the number of digits[225](#footnote-225 "Thus, the string "\003" specifies groups of 3 digits each, and "3" probably indicates groups of 51 (!) digits each, because 51 is the ASCII value of "3".") in the group at position i,
|
|
starting with position 0 as the rightmost group[.](#3.sentence-1)
|
|
|
|
If vec.size() <= i,
|
|
the number is the same as group (i - 1);
|
|
if (i < 0 || vec[i] <= 0 || vec[i] == CHAR_MAX),
|
|
the size of the digit group is unlimited[.](#3.sentence-2)
|
|
|
|
[4](#4)
|
|
|
|
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L3303)
|
|
|
|
The required specializations return the empty string, indicating no grouping[.](#4.sentence-1)
|
|
|
|
[ð](#lib:numpunct,do_truename)
|
|
|
|
`string_type do_truename() const;
|
|
string_type do_falsename() const;
|
|
`
|
|
|
|
[5](#5)
|
|
|
|
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L3315)
|
|
|
|
*Returns*: A string representing the name of
|
|
the boolean value true or false, respectively[.](#5.sentence-1)
|
|
|
|
[6](#6)
|
|
|
|
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L3320)
|
|
|
|
In the base class implementation
|
|
these names are "true" and "false",
|
|
or L"true" and L"false"[.](#6.sentence-1)
|
|
|
|
[225)](#footnote-225)[225)](#footnoteref-225)
|
|
|
|
Thus,
|
|
the string "\003" specifies groups of 3 digits each, and"3" probably indicates groups of 51 (!) digits each,
|
|
because 51 is the ASCII value of "3"[.](#footnote-225.sentence-1)
|