|
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