Init
This commit is contained in:
182
cppdraft/locale/cons.md
Normal file
182
cppdraft/locale/cons.md
Normal file
@@ -0,0 +1,182 @@
|
||||
[locale.cons]
|
||||
|
||||
# 28 Text processing library [[text]](./#text)
|
||||
|
||||
## 28.3 Localization library [[localization]](localization#locale.cons)
|
||||
|
||||
### 28.3.3 Locales [[locales]](locales#locale.cons)
|
||||
|
||||
#### 28.3.3.1 Class locale [[locale]](locale#cons)
|
||||
|
||||
#### 28.3.3.1.3 Constructors and destructor [locale.cons]
|
||||
|
||||
[ð](#lib:locale,constructor)
|
||||
|
||||
`locale() noexcept;
|
||||
`
|
||||
|
||||
[1](#1)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L865)
|
||||
|
||||
*Effects*: Constructs a copy of the argument last passed tolocale::global(locale&),
|
||||
if it has been called;
|
||||
else, the resulting facets have virtual function semantics identical to
|
||||
those of locale::classic()[.](#1.sentence-1)
|
||||
|
||||
[*Note [1](#note-1)*:
|
||||
|
||||
This constructor yields a copy of the current global locale[.](#1.sentence-2)
|
||||
|
||||
It is commonly used as a default argument for
|
||||
function parameters of type const locale&[.](#1.sentence-3)
|
||||
|
||||
â *end note*]
|
||||
|
||||
[ð](#lib:locale,constructor_)
|
||||
|
||||
`explicit locale(const char* std_name);
|
||||
`
|
||||
|
||||
[2](#2)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L885)
|
||||
|
||||
*Effects*: Constructs a locale using standard C locale names, e.g., "POSIX"[.](#2.sentence-1)
|
||||
|
||||
The resulting locale implements semantics defined to be associated
|
||||
with that name[.](#2.sentence-2)
|
||||
|
||||
[3](#3)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L891)
|
||||
|
||||
*Throws*: runtime_error if the argument is not valid, or is null[.](#3.sentence-1)
|
||||
|
||||
[4](#4)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L895)
|
||||
|
||||
*Remarks*: The set of valid string argument values is"C", "", and any implementation-defined values[.](#4.sentence-1)
|
||||
|
||||
[ð](#lib:locale,constructor__)
|
||||
|
||||
`explicit locale(const string& std_name);
|
||||
`
|
||||
|
||||
[5](#5)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L907)
|
||||
|
||||
*Effects*: Equivalent to locale(std_name.c_str())[.](#5.sentence-1)
|
||||
|
||||
[ð](#lib:locale,constructor___)
|
||||
|
||||
`locale(const locale& other, const char* std_name, category cats);
|
||||
`
|
||||
|
||||
[6](#6)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L918)
|
||||
|
||||
*Preconditions*: cats is a valid category value ([[locale.category]](locale.category "28.3.3.1.2.1 Type locale::category"))[.](#6.sentence-1)
|
||||
|
||||
[7](#7)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L922)
|
||||
|
||||
*Effects*: Constructs a locale as a copy of other except for the facets identified by the category argument,
|
||||
which instead implement the same semantics as locale(std_name)[.](#7.sentence-1)
|
||||
|
||||
[8](#8)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L928)
|
||||
|
||||
*Throws*: runtime_error if the second argument is not valid, or is null[.](#8.sentence-1)
|
||||
|
||||
[9](#9)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L932)
|
||||
|
||||
*Remarks*: The locale has a name if and only if other has a name[.](#9.sentence-1)
|
||||
|
||||
[ð](#lib:locale,constructor____)
|
||||
|
||||
`locale(const locale& other, const string& std_name, category cats);
|
||||
`
|
||||
|
||||
[10](#10)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L943)
|
||||
|
||||
*Effects*: Equivalent to locale(other, std_name.c_str(), cats)[.](#10.sentence-1)
|
||||
|
||||
[ð](#lib:locale,constructor_____)
|
||||
|
||||
`template<class Facet> locale(const locale& other, Facet* f);
|
||||
`
|
||||
|
||||
[11](#11)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L954)
|
||||
|
||||
*Effects*: Constructs a locale incorporating all facets from the first argument
|
||||
except that of type Facet,
|
||||
and installs the second argument as the remaining facet[.](#11.sentence-1)
|
||||
|
||||
If f is null, the resulting object is a copy of other[.](#11.sentence-2)
|
||||
|
||||
[12](#12)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L961)
|
||||
|
||||
*Remarks*: If f is null,
|
||||
the resulting locale has the same name as other[.](#12.sentence-1)
|
||||
|
||||
Otherwise, the resulting locale has no name[.](#12.sentence-2)
|
||||
|
||||
[ð](#lib:locale,constructor______)
|
||||
|
||||
`locale(const locale& other, const locale& one, category cats);
|
||||
`
|
||||
|
||||
[13](#13)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L974)
|
||||
|
||||
*Preconditions*: cats is a valid category value[.](#13.sentence-1)
|
||||
|
||||
[14](#14)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L978)
|
||||
|
||||
*Effects*: Constructs a locale incorporating all facets from the first argument
|
||||
except those that implement cats,
|
||||
which are instead incorporated from the second argument[.](#14.sentence-1)
|
||||
|
||||
[15](#15)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L984)
|
||||
|
||||
*Remarks*: If cats is equal to locale::none,
|
||||
the resulting locale has a name if and only if the first argument has a name[.](#15.sentence-1)
|
||||
|
||||
Otherwise, the resulting locale has a name if and only if
|
||||
the first two arguments both have names[.](#15.sentence-2)
|
||||
|
||||
[ð](#lib:operator=,locale)
|
||||
|
||||
`const locale& operator=(const locale& other) noexcept;
|
||||
`
|
||||
|
||||
[16](#16)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L998)
|
||||
|
||||
*Effects*: Creates a copy of other, replacing the current value[.](#16.sentence-1)
|
||||
|
||||
[17](#17)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L1002)
|
||||
|
||||
*Returns*: *this[.](#17.sentence-1)
|
||||
Reference in New Issue
Block a user