Skip to content

Commit 086a6f3

Browse files
jensmaurertkoeppe
authored andcommitted
[algorithms] Apply constexpr to corresponding detailed specifications
1 parent f66d6cd commit 086a6f3

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

source/algorithms.tex

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6714,14 +6714,14 @@
67146714
\indexlibraryglobal{stable_sort}%
67156715
\begin{itemdecl}
67166716
template<class RandomAccessIterator>
6717-
void stable_sort(RandomAccessIterator first, RandomAccessIterator last);
6717+
constexpr void stable_sort(RandomAccessIterator first, RandomAccessIterator last);
67186718
template<class ExecutionPolicy, class RandomAccessIterator>
67196719
void stable_sort(ExecutionPolicy&& exec,
67206720
RandomAccessIterator first, RandomAccessIterator last);
67216721

67226722
template<class RandomAccessIterator, class Compare>
6723-
void stable_sort(RandomAccessIterator first, RandomAccessIterator last,
6724-
Compare comp);
6723+
constexpr void stable_sort(RandomAccessIterator first, RandomAccessIterator last,
6724+
Compare comp);
67256725
template<class ExecutionPolicy, class RandomAccessIterator, class Compare>
67266726
void stable_sort(ExecutionPolicy&& exec,
67276727
RandomAccessIterator first, RandomAccessIterator last,
@@ -6730,10 +6730,10 @@
67306730
template<@\libconcept{random_access_iterator}@ I, @\libconcept{sentinel_for}@<I> S, class Comp = ranges::less,
67316731
class Proj = identity>
67326732
requires @\libconcept{sortable}@<I, Comp, Proj>
6733-
I ranges::stable_sort(I first, S last, Comp comp = {}, Proj proj = {});
6733+
constexpr I ranges::stable_sort(I first, S last, Comp comp = {}, Proj proj = {});
67346734
template<@\libconcept{random_access_range}@ R, class Comp = ranges::less, class Proj = identity>
67356735
requires @\libconcept{sortable}@<iterator_t<R>, Comp, Proj>
6736-
borrowed_iterator_t<R>
6736+
constexpr borrowed_iterator_t<R>
67376737
ranges::stable_sort(R&& r, Comp comp = {}, Proj proj = {});
67386738
\end{itemdecl}
67396739

@@ -7512,7 +7512,8 @@
75127512
\begin{itemdecl}
75137513
template<class BidirectionalIterator, class Predicate>
75147514
BidirectionalIterator
7515-
stable_partition(BidirectionalIterator first, BidirectionalIterator last, Predicate pred);
7515+
constexpr stable_partition(BidirectionalIterator first, BidirectionalIterator last,
7516+
Predicate pred);
75167517
template<class ExecutionPolicy, class BidirectionalIterator, class Predicate>
75177518
BidirectionalIterator
75187519
stable_partition(ExecutionPolicy&& exec,
@@ -7521,11 +7522,11 @@
75217522
template<@\libconcept{bidirectional_iterator}@ I, @\libconcept{sentinel_for}@<I> S, class Proj = identity,
75227523
@\libconcept{indirect_unary_predicate}@<projected<I, Proj>> Pred>
75237524
requires @\libconcept{permutable}@<I>
7524-
subrange<I> ranges::stable_partition(I first, S last, Pred pred, Proj proj = {});
7525+
constexpr subrange<I> ranges::stable_partition(I first, S last, Pred pred, Proj proj = {});
75257526
template<@\libconcept{bidirectional_range}@ R, class Proj = identity,
75267527
@\libconcept{indirect_unary_predicate}@<projected<iterator_t<R>, Proj>> Pred>
75277528
requires @\libconcept{permutable}@<iterator_t<R>>
7528-
borrowed_subrange_t<R> ranges::stable_partition(R&& r, Pred pred, Proj proj = {});
7529+
constexpr borrowed_subrange_t<R> ranges::stable_partition(R&& r, Pred pred, Proj proj = {});
75297530
\end{itemdecl}
75307531

75317532
\begin{itemdescr}
@@ -7792,19 +7793,19 @@
77927793
\indexlibraryglobal{inplace_merge}%
77937794
\begin{itemdecl}
77947795
template<class BidirectionalIterator>
7795-
void inplace_merge(BidirectionalIterator first,
7796-
BidirectionalIterator middle,
7797-
BidirectionalIterator last);
7796+
constexpr void inplace_merge(BidirectionalIterator first,
7797+
BidirectionalIterator middle,
7798+
BidirectionalIterator last);
77987799
template<class ExecutionPolicy, class BidirectionalIterator>
77997800
void inplace_merge(ExecutionPolicy&& exec,
78007801
BidirectionalIterator first,
78017802
BidirectionalIterator middle,
78027803
BidirectionalIterator last);
78037804

78047805
template<class BidirectionalIterator, class Compare>
7805-
void inplace_merge(BidirectionalIterator first,
7806-
BidirectionalIterator middle,
7807-
BidirectionalIterator last, Compare comp);
7806+
constexpr void inplace_merge(BidirectionalIterator first,
7807+
BidirectionalIterator middle,
7808+
BidirectionalIterator last, Compare comp);
78087809
template<class ExecutionPolicy, class BidirectionalIterator, class Compare>
78097810
void inplace_merge(ExecutionPolicy&& exec,
78107811
BidirectionalIterator first,
@@ -7814,7 +7815,7 @@
78147815
template<@\libconcept{bidirectional_iterator}@ I, @\libconcept{sentinel_for}@<I> S, class Comp = ranges::less,
78157816
class Proj = identity>
78167817
requires @\libconcept{sortable}@<I, Comp, Proj>
7817-
I ranges::inplace_merge(I first, I middle, S last, Comp comp = {}, Proj proj = {});
7818+
constexpr I ranges::inplace_merge(I first, I middle, S last, Comp comp = {}, Proj proj = {});
78187819
\end{itemdecl}
78197820

78207821
\begin{itemdescr}
@@ -7865,7 +7866,7 @@
78657866
\begin{itemdecl}
78667867
template<@\libconcept{bidirectional_range}@ R, class Comp = ranges::less, class Proj = identity>
78677868
requires @\libconcept{sortable}@<iterator_t<R>, Comp, Proj>
7868-
borrowed_iterator_t<R>
7869+
constexpr borrowed_iterator_t<R>
78697870
ranges::inplace_merge(R&& r, iterator_t<R> middle, Comp comp = {}, Proj proj = {});
78707871
\end{itemdecl}
78717872

0 commit comments

Comments
 (0)