From c2d135e2bbfad96cdf83d4723c39526a892b6d82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Sat, 28 Mar 2026 23:39:47 +0100 Subject: [PATCH] Erase segmented_find_if_original_dispatch --- experimental/bench_segmented_algos.cpp | 50 +------------------------- 1 file changed, 1 insertion(+), 49 deletions(-) diff --git a/experimental/bench_segmented_algos.cpp b/experimental/bench_segmented_algos.cpp index 1a68519..524f1e5 100644 --- a/experimental/bench_segmented_algos.cpp +++ b/experimental/bench_segmented_algos.cpp @@ -499,55 +499,7 @@ It find_last_if_not(It first, It last, Pred pred) return find_last_if_not_dispatch(first, last, pred, cat()); } -template -typename bc::algo_enable_if_c< - !Tag::value || bc::is_sentinel::value, InpIter>::type -segmented_find_if_original_dispatch(InpIter first, Sent last, Pred pred, Tag) -{ - for(; first != last; ++first) - if(pred(*first)) - break; - return first; -} -template -SegIter segmented_find_if_original_dispatch - (SegIter first, SegIter last, Pred pred, bc::segmented_iterator_tag) -{ - typedef bc::segmented_iterator_traits traits; - typedef typename traits::local_iterator local_iterator; - typedef typename traits::segment_iterator segment_iterator; - typedef typename bc::segmented_iterator_traits::is_segmented_iterator is_local_seg_t; - - segment_iterator sfirst = traits::segment(first); - const segment_iterator slast = traits::segment(last); - - if(sfirst == slast) { - return traits::compose(sfirst, (segmented_find_if_original_dispatch)(traits::local(first), traits::local(last), pred, is_local_seg_t())); - } - else { - { - const local_iterator le = traits::end(sfirst); - const local_iterator r = (segmented_find_if_original_dispatch)(traits::local(first), le, pred, is_local_seg_t()); - if (r != le) - return traits::compose(sfirst, r); - } - for (++sfirst; sfirst != slast; ++sfirst) { - const local_iterator le = traits::end(sfirst); - const local_iterator r = (segmented_find_if_original_dispatch)(traits::begin(sfirst), le, pred, is_local_seg_t()); - if (r != le) - return traits::compose(sfirst, r); - } - return traits::compose(slast, (segmented_find_if_original_dispatch)(traits::begin(slast), traits::local(last), pred, is_local_seg_t())); - } -} - -template -InpIter segmented_find_if_original(InpIter first, Sent last, Pred pred) -{ - typedef bc::segmented_iterator_traits traits; - return segmented_find_if_original_dispatch(first, last, pred, typename traits::is_segmented_iterator()); -} //Not benchmarked: @@ -2244,7 +2196,7 @@ template void run_benchmarks() { #ifdef NDEBUG - const std::size_t N = 10000; + const std::size_t N = 100000; const std::size_t iter = 1000; #else const std::size_t N = 10000;