xieite ::between ()
Defined in header <xieite/data/between.hpp>
Returns a view to a range that starts after the first occurrence of a subrange or value and ends before the last occurrence of another subrange or value.
Declaration
#0[[nodiscard ]]constexpr auto between (auto&& range ,auto&& after ,auto&& before ,auto&& after_pred =std ::ranges ::equal_to (),auto&& before_pred =decltype (after_pred )())XIEITE_ARROW (xieite ::before_last (xieite ::after (XIEITE_FWD (range ),XIEITE_FWD (after ),XIEITE_FWD (after_pred )),XIEITE_FWD (before ),XIEITE_FWD (before_pred )) )
#1
[[nodiscard ]]constexpr auto between (auto&& range ,auto&& after ,std ::ranges ::range_common_reference_t <Range >before ,auto&& after_pred =std ::ranges ::equal_to ())XIEITE_ARROW (xieite ::before_last (xieite ::after (XIEITE_FWD (range ),XIEITE_FWD (after ),XIEITE_FWD (after_pred )),XIEITE_FWD (before )) )
#2
[[nodiscard ]]constexpr auto between (auto&& range ,std ::ranges ::range_common_reference_t <Range >after ,auto&& before ,auto&& before_pred =std ::ranges ::equal_to ())XIEITE_ARROW (xieite ::before_last (xieite ::after (XIEITE_FWD (range ),XIEITE_FWD (after )),XIEITE_FWD (before ),XIEITE_FWD (before_pred )) )
#3
[[nodiscard ]]constexpr auto between (auto&& range ,std ::ranges ::range_common_reference_t <Range >after ,std ::ranges ::range_common_reference_t <Range >before )XIEITE_ARROW (xieite ::before_last (xieite ::after (XIEITE_FWD (range ),XIEITE_FWD (after )),XIEITE_FWD (before )) )
Example
Output:int main () {xieite ::dump (std ::string_view (xieite ::between ("foo bar qux" ,' ' ,' ' ))); }
[View in Compiler Explorer]bar