Skip to content

Commit c1921f3

Browse files
Move starts_with, ends_with and contains_subrange into sequence search group
1 parent dc8220a commit c1921f3

File tree

1 file changed

+33
-32
lines changed

1 file changed

+33
-32
lines changed

source/elements/oneDPL/source/parallel_api/parallel_range_api.rst

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -209,17 +209,6 @@ Element Search Operations
209209
const T* >
210210
bool contains (ExecutionPolicy&& pol, R&& r, const T& value, Proj proj = {});
211211
212-
// contains_subrange
213-
template <typename ExecutionPolicy, std::ranges::random_access_range R1,
214-
std::ranges::random_access_range R2, typename Pred = std::ranges::equal_to,
215-
typename Proj1 = std::identity, typename Proj2 = std::identity>
216-
requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
217-
std::ranges::sized_range<R1> && std::ranges::sized_range<R2> &&
218-
std::indirectly_comparable< std::ranges::iterator_t<R1>, std::ranges::iterator_t<R2>,
219-
Pred, Proj1, Proj2 >
220-
bool contains_subrange (ExecutionPolicy&& pol, R1&& r1, R2&& r2, Pred pred = {},
221-
Proj1 proj1 = {}, Proj2 proj2 = {});
222-
223212
// find_last
224213
template <typename ExecutionPolicy, std::ranges::random_access_range R,
225214
typename Proj = std::identity,
@@ -250,27 +239,6 @@ Element Search Operations
250239
std::ranges::borrowed_subrange_t<R>
251240
find_last_if_not (ExecutionPolicy&& pol, R&& r, Pred pred, Proj proj = {});
252241
253-
// starts_with
254-
template < typename ExecutionPolicy, std::ranges::random_access_range R1,
255-
std::ranges::random_access_range R2, typename Pred = std::ranges::equal_to,
256-
typename Proj1 = std::identity, typename Proj2 = std::identity>
257-
requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
258-
std::ranges::sized_range<R1> && std::ranges::sized_range<R2> &&
259-
std::indirectly_comparable< std::ranges::iterator_t<R1>, std::ranges::iterator_t<R2>,
260-
Pred, Proj1, Proj2 >
261-
bool starts_with (ExecutionPolicy&& pol, R1&& r1, R2&& r2, Pred pred = {},
262-
Proj1 proj1 = {}, Proj2 proj2 = {});
263-
264-
// ends_with
265-
template <typename ExecutionPolicy, std::ranges::random_access_range R1,
266-
std::ranges::random_access_range R2, typename Pred = std::ranges::equal_to,
267-
typename Proj1 = std::identity, typename Proj2 = std::identity>
268-
requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
269-
std::ranges::sized_range<R1> && std::ranges::sized_range<R2> &&
270-
std::indirectly_comparable< std::ranges::iterator_t<R1>, std::ranges::iterator_t<R2>,
271-
Pred, Proj1, Proj2 >
272-
bool ends_with (ExecutionPolicy&& pol, R1&& r1, R2&& r2, Pred pred = {},
273-
Proj1 proj1 = {}, Proj2 proj2 = {});
274242
}
275243
276244
Minimum and Maximum
@@ -430,6 +398,39 @@ Sequence Search and Comparison
430398
std::ranges::sized_range<R1> && std::ranges::sized_range<R2>
431399
bool lexicographical_compare (ExecutionPolicy&& pol, R1&& r1, R2&& r2, Comp comp = {},
432400
Proj1 proj1 = {}, Proj2 proj2 = {});
401+
// contains_subrange
402+
template <typename ExecutionPolicy, std::ranges::random_access_range R1,
403+
std::ranges::random_access_range R2, typename Pred = std::ranges::equal_to,
404+
typename Proj1 = std::identity, typename Proj2 = std::identity>
405+
requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
406+
std::ranges::sized_range<R1> && std::ranges::sized_range<R2> &&
407+
std::indirectly_comparable< std::ranges::iterator_t<R1>, std::ranges::iterator_t<R2>,
408+
Pred, Proj1, Proj2 >
409+
bool contains_subrange (ExecutionPolicy&& pol, R1&& r1, R2&& r2, Pred pred = {},
410+
Proj1 proj1 = {}, Proj2 proj2 = {});
411+
412+
// starts_with
413+
template < typename ExecutionPolicy, std::ranges::random_access_range R1,
414+
std::ranges::random_access_range R2, typename Pred = std::ranges::equal_to,
415+
typename Proj1 = std::identity, typename Proj2 = std::identity>
416+
requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
417+
std::ranges::sized_range<R1> && std::ranges::sized_range<R2> &&
418+
std::indirectly_comparable< std::ranges::iterator_t<R1>, std::ranges::iterator_t<R2>,
419+
Pred, Proj1, Proj2 >
420+
bool starts_with (ExecutionPolicy&& pol, R1&& r1, R2&& r2, Pred pred = {},
421+
Proj1 proj1 = {}, Proj2 proj2 = {});
422+
423+
// ends_with
424+
template <typename ExecutionPolicy, std::ranges::random_access_range R1,
425+
std::ranges::random_access_range R2, typename Pred = std::ranges::equal_to,
426+
typename Proj1 = std::identity, typename Proj2 = std::identity>
427+
requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
428+
std::ranges::sized_range<R1> && std::ranges::sized_range<R2> &&
429+
std::indirectly_comparable< std::ranges::iterator_t<R1>, std::ranges::iterator_t<R2>,
430+
Pred, Proj1, Proj2 >
431+
bool ends_with (ExecutionPolicy&& pol, R1&& r1, R2&& r2, Pred pred = {},
432+
Proj1 proj1 = {}, Proj2 proj2 = {});
433+
433434
}
434435
435436
Sorting, Merge, and Heap Operations

0 commit comments

Comments
 (0)