|
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