@@ -288,7 +288,7 @@ Sequence Search and Comparison
288288 namespace oneapi::dpl::ranges {
289289
290290 // equal
291- template<typename ExecutionPolicy, std::ranges::random_access_range R1,
291+ template <typename ExecutionPolicy, std::ranges::random_access_range R1,
292292 std::ranges::random_access_range R2, typename Pred = std::ranges::equal_to,
293293 typename Proj1 = std::identity, typename Proj2 = std::identity>
294294 requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
@@ -299,7 +299,7 @@ Sequence Search and Comparison
299299 Proj1 proj1 = {}, Proj2 proj2 = {});
300300
301301 // mismatch
302- template<typename ExecutionPolicy, std::ranges::random_access_range R1,
302+ template <typename ExecutionPolicy, std::ranges::random_access_range R1,
303303 std::ranges::random_access_range R2, typename Pred = std::ranges::equal_to,
304304 typename Proj1 = std::identity, typename Proj2 = std::identity>
305305 requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
@@ -312,7 +312,7 @@ Sequence Search and Comparison
312312 Proj1 proj1 = {}, Proj2 proj2 = {});
313313
314314 // find_end
315- template<typename ExecutionPolicy, std::ranges::random_access_range R1,
315+ template <typename ExecutionPolicy, std::ranges::random_access_range R1,
316316 std::ranges::random_access_range R2, typename Pred = std::ranges::equal_to,
317317 typename Proj1 = std::identity, typename Proj2 = std::identity>
318318 requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
@@ -324,7 +324,7 @@ Sequence Search and Comparison
324324 Proj1 proj1 = {}, Proj2 proj2 = {});
325325
326326 // search
327- template<typename ExecutionPolicy, std::ranges::random_access_range R1,
327+ template <typename ExecutionPolicy, std::ranges::random_access_range R1,
328328 std::ranges::random_access_range R2, typename Pred = std::ranges::equal_to,
329329 typename Proj1 = std::identity, typename Proj2 = std::identity>
330330 requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
@@ -336,7 +336,7 @@ Sequence Search and Comparison
336336 Proj1 proj1 = {}, Proj2 proj2 = {});
337337
338338 // search_n
339- template<typename ExecutionPolicy, std::ranges::random_access_range R,
339+ template <typename ExecutionPolicy, std::ranges::random_access_range R,
340340 typename Pred = std::ranges::equal_to, typename Proj = std::identity,
341341 typename T = /*projected-value-type*/<std::ranges::iterator_t<R>, Proj>>
342342 requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
@@ -346,6 +346,17 @@ Sequence Search and Comparison
346346 search_n (ExecutionPolicy&& pol, R&& r, std::ranges::range_difference_t<R> count,
347347 const T& value, Pred pred = {}, Proj proj = {});
348348
349+ // lexicographical_compare
350+ template <typename ExecutionPolicy, std::ranges::random_access_range R1,
351+ std::ranges::random_access_range R2, typename Proj1 = std::identity,
352+ typename Proj2 = std::identity,
353+ std::indirect_strict_weak_order< std::projected<std::ranges::iterator_t<R1>, Proj1>,
354+ std::projected<std::ranges::iterator_t<R2>, Proj2> >
355+ Comp = std::ranges::less>
356+ requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
357+ std::ranges::sized_range<R1> && std::ranges::sized_range<R2>
358+ bool lexicographical_compare (ExecutionPolicy&& pol, R1&& r1, R2&& r2, Comp comp = {},
359+ Proj1 proj1 = {}, Proj2 proj2 = {});
349360 }
350361
351362 Sorting, Merge, and Heap Operations
0 commit comments