xieite::before_last()

Defined in header <xieite/data/before_last.hpp>

Returns a view to a range that ends before the last occurrence of a subrange or value.


Declaration

#0
template<xieite::is_fwd_range Range, xieite::is_fwd_range Subrange, xieite::is_invoc<bool(std::ranges::range_common_reference_t<Range>, std::ranges::range_common_reference_t<Subrange>)> Pred = std::ranges::equal_to>
[[nodiscard]] constexpr auto before_last(Range&& range, Subrange&& subrange, Pred&& pred = {})
noexcept(xieite::is_noex_range<Range> && xieite::is_noex_range<Subrange> && xieite::is_noex_invoc<Pred, bool(std::ranges::range_common_reference_t<Range>, std::ranges::range_common_reference_t<Subrange>)>);

#1
template<xieite::is_fwd_range Range>
[[nodiscard]] constexpr auto before_last(Range&& range, std::ranges::range_common_reference_t<Range> x)
noexcept(xieite::is_noex_range<Range>);


Example

int main() {
	xieite::dump(std::string_view(xieite::before_last("foo bar qux", ' ')));
}
Output:
foo bar
[View in Compiler Explorer]