xieite::before()

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

Returns a view to a range that ends before the first 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(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(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("foo bar qux", ' ')));
}
Output:
foo
[View in Compiler Explorer]