tmp/tmp6_zcidjh/{from.md → to.md}
RENAMED
|
@@ -92,11 +92,11 @@ is equal to `0`.
|
|
| 92 |
``` cpp
|
| 93 |
constexpr basic_string(const charT* s, const Allocator& a = Allocator());
|
| 94 |
```
|
| 95 |
|
| 96 |
*Constraints:* `Allocator` is a type that qualifies as an
|
| 97 |
-
allocator [[container.
|
| 98 |
|
| 99 |
[*Note 1*: This affects class template argument
|
| 100 |
deduction. — *end note*]
|
| 101 |
|
| 102 |
*Effects:* Equivalent to: `basic_string(s, traits::length(s), a)`.
|
|
@@ -104,11 +104,11 @@ deduction. — *end note*]
|
|
| 104 |
``` cpp
|
| 105 |
constexpr basic_string(size_type n, charT c, const Allocator& a = Allocator());
|
| 106 |
```
|
| 107 |
|
| 108 |
*Constraints:* `Allocator` is a type that qualifies as an
|
| 109 |
-
allocator [[container.
|
| 110 |
|
| 111 |
[*Note 2*: This affects class template argument
|
| 112 |
deduction. — *end note*]
|
| 113 |
|
| 114 |
*Effects:* Constructs an object whose value consists of `n` copies of
|
|
@@ -118,11 +118,11 @@ deduction. — *end note*]
|
|
| 118 |
template<class InputIterator>
|
| 119 |
constexpr basic_string(InputIterator begin, InputIterator end, const Allocator& a = Allocator());
|
| 120 |
```
|
| 121 |
|
| 122 |
*Constraints:* `InputIterator` is a type that qualifies as an input
|
| 123 |
-
iterator [[container.
|
| 124 |
|
| 125 |
*Effects:* Constructs a string from the values in the range \[`begin`,
|
| 126 |
`end`), as specified in [[sequence.reqmts]].
|
| 127 |
|
| 128 |
``` cpp
|
|
@@ -160,11 +160,11 @@ template<class InputIterator,
|
|
| 160 |
Allocator>;
|
| 161 |
```
|
| 162 |
|
| 163 |
*Constraints:* `InputIterator` is a type that qualifies as an input
|
| 164 |
iterator, and `Allocator` is a type that qualifies as an
|
| 165 |
-
allocator [[container.
|
| 166 |
|
| 167 |
``` cpp
|
| 168 |
template<class charT,
|
| 169 |
class traits,
|
| 170 |
class Allocator = allocator<charT>>
|
|
@@ -179,11 +179,11 @@ template<class charT,
|
|
| 179 |
const Allocator& = Allocator())
|
| 180 |
-> basic_string<charT, traits, Allocator>;
|
| 181 |
```
|
| 182 |
|
| 183 |
*Constraints:* `Allocator` is a type that qualifies as an
|
| 184 |
-
allocator [[container.
|
| 185 |
|
| 186 |
``` cpp
|
| 187 |
constexpr basic_string& operator=(const basic_string& str);
|
| 188 |
```
|
| 189 |
|
|
@@ -196,13 +196,12 @@ Otherwise, replaces the value of `*this` with a copy of `str`.
|
|
| 196 |
constexpr basic_string& operator=(basic_string&& str)
|
| 197 |
noexcept(allocator_traits<Allocator>::propagate_on_container_move_assignment::value ||
|
| 198 |
allocator_traits<Allocator>::is_always_equal::value);
|
| 199 |
```
|
| 200 |
|
| 201 |
-
*Effects:* Move assigns as a sequence
|
| 202 |
-
|
| 203 |
-
and references may be invalidated.
|
| 204 |
|
| 205 |
*Returns:* `*this`.
|
| 206 |
|
| 207 |
``` cpp
|
| 208 |
template<class T>
|
|
|
|
| 92 |
``` cpp
|
| 93 |
constexpr basic_string(const charT* s, const Allocator& a = Allocator());
|
| 94 |
```
|
| 95 |
|
| 96 |
*Constraints:* `Allocator` is a type that qualifies as an
|
| 97 |
+
allocator [[container.reqmts]].
|
| 98 |
|
| 99 |
[*Note 1*: This affects class template argument
|
| 100 |
deduction. — *end note*]
|
| 101 |
|
| 102 |
*Effects:* Equivalent to: `basic_string(s, traits::length(s), a)`.
|
|
|
|
| 104 |
``` cpp
|
| 105 |
constexpr basic_string(size_type n, charT c, const Allocator& a = Allocator());
|
| 106 |
```
|
| 107 |
|
| 108 |
*Constraints:* `Allocator` is a type that qualifies as an
|
| 109 |
+
allocator [[container.reqmts]].
|
| 110 |
|
| 111 |
[*Note 2*: This affects class template argument
|
| 112 |
deduction. — *end note*]
|
| 113 |
|
| 114 |
*Effects:* Constructs an object whose value consists of `n` copies of
|
|
|
|
| 118 |
template<class InputIterator>
|
| 119 |
constexpr basic_string(InputIterator begin, InputIterator end, const Allocator& a = Allocator());
|
| 120 |
```
|
| 121 |
|
| 122 |
*Constraints:* `InputIterator` is a type that qualifies as an input
|
| 123 |
+
iterator [[container.reqmts]].
|
| 124 |
|
| 125 |
*Effects:* Constructs a string from the values in the range \[`begin`,
|
| 126 |
`end`), as specified in [[sequence.reqmts]].
|
| 127 |
|
| 128 |
``` cpp
|
|
|
|
| 160 |
Allocator>;
|
| 161 |
```
|
| 162 |
|
| 163 |
*Constraints:* `InputIterator` is a type that qualifies as an input
|
| 164 |
iterator, and `Allocator` is a type that qualifies as an
|
| 165 |
+
allocator [[container.reqmts]].
|
| 166 |
|
| 167 |
``` cpp
|
| 168 |
template<class charT,
|
| 169 |
class traits,
|
| 170 |
class Allocator = allocator<charT>>
|
|
|
|
| 179 |
const Allocator& = Allocator())
|
| 180 |
-> basic_string<charT, traits, Allocator>;
|
| 181 |
```
|
| 182 |
|
| 183 |
*Constraints:* `Allocator` is a type that qualifies as an
|
| 184 |
+
allocator [[container.reqmts]].
|
| 185 |
|
| 186 |
``` cpp
|
| 187 |
constexpr basic_string& operator=(const basic_string& str);
|
| 188 |
```
|
| 189 |
|
|
|
|
| 196 |
constexpr basic_string& operator=(basic_string&& str)
|
| 197 |
noexcept(allocator_traits<Allocator>::propagate_on_container_move_assignment::value ||
|
| 198 |
allocator_traits<Allocator>::is_always_equal::value);
|
| 199 |
```
|
| 200 |
|
| 201 |
+
*Effects:* Move assigns as a sequence container [[sequence.reqmts]],
|
| 202 |
+
except that iterators, pointers and references may be invalidated.
|
|
|
|
| 203 |
|
| 204 |
*Returns:* `*this`.
|
| 205 |
|
| 206 |
``` cpp
|
| 207 |
template<class T>
|