|
185 | 185 | concept @\exposconcept{nothrow-forward-range}@ = @\seebelow@; // \expos
|
186 | 186 |
|
187 | 187 | template<class NoThrowForwardIterator>
|
188 |
| - void uninitialized_default_construct(NoThrowForwardIterator first, // freestanding |
189 |
| - NoThrowForwardIterator last); |
| 188 | + constexpr void uninitialized_default_construct(NoThrowForwardIterator first, // freestanding |
| 189 | + NoThrowForwardIterator last); |
190 | 190 | template<class ExecutionPolicy, class NoThrowForwardIterator>
|
191 | 191 | void uninitialized_default_construct(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
|
192 | 192 | NoThrowForwardIterator first,
|
193 | 193 | NoThrowForwardIterator last);
|
194 | 194 | template<class NoThrowForwardIterator, class Size>
|
195 |
| - NoThrowForwardIterator |
| 195 | + constexpr NoThrowForwardIterator |
196 | 196 | uninitialized_default_construct_n(NoThrowForwardIterator first, Size n); // freestanding
|
197 | 197 | template<class ExecutionPolicy, class NoThrowForwardIterator, class Size>
|
198 | 198 | NoThrowForwardIterator
|
|
202 | 202 | namespace ranges {
|
203 | 203 | template<@\exposconcept{nothrow-forward-iterator}@ I, @\exposconcept{nothrow-sentinel-for}@<I> S>
|
204 | 204 | requires @\libconcept{default_initializable}@<iter_value_t<I>>
|
205 |
| - I uninitialized_default_construct(I first, S last); // freestanding |
| 205 | + constexpr I uninitialized_default_construct(I first, S last); // freestanding |
206 | 206 | template<@\exposconcept{nothrow-forward-range}@ R>
|
207 | 207 | requires @\libconcept{default_initializable}@<range_value_t<R>>
|
208 |
| - borrowed_iterator_t<R> uninitialized_default_construct(R&& r); // freestanding |
| 208 | + constexpr borrowed_iterator_t<R> uninitialized_default_construct(R&& r); // freestanding |
209 | 209 |
|
210 | 210 | template<@\exposconcept{nothrow-forward-iterator}@ I>
|
211 | 211 | requires @\libconcept{default_initializable}@<iter_value_t<I>>
|
212 |
| - I uninitialized_default_construct_n(I first, iter_difference_t<I> n); // freestanding |
| 212 | + constexpr I uninitialized_default_construct_n(I first, // freestanding |
| 213 | + iter_difference_t<I> n); |
213 | 214 | }
|
214 | 215 |
|
215 | 216 | template<class NoThrowForwardIterator>
|
|
0 commit comments