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