findPopBefore

Variant of findSplitBefore that destructively pops everything up to, not including, needle from haystack.

findPopBefore
(
alias pred = `a == b`
R1
R2
)
(
ref R1 haystack
,)
if (
isForwardRange!R1 &&
isForwardRange!R2
)

Examples

auto haystack = `xy`;
const needle = `z`;
auto pop = haystack.findPopBefore(needle);
assert(haystack == `xy`);
assert(pop == ``);
auto haystack = `xyz`;
const needle = `y`;
auto pop = haystack.findPopBefore(needle);
assert(pop == `x`);
assert(haystack == `yz`);

Meta