isSliceOf

Determines whether needle is a slice of haystack.

@trusted pure nothrow @nogc
bool
isSliceOf
(
T1
T2
)
(
scope const(T1)[] needle
,
scope const(T2)[] haystack
)

Examples

string        s0 = "01234";
const(char)[] s1 = s0[1 .. $];
const(void)[] s2 = s1.castTo!(const(void)[]);
string        s3 = s1.idup;

assert( s0.isSliceOf(s0));
assert( s1.isSliceOf(s0));
assert( s2.isSliceOf(s0));
assert(!s3.isSliceOf(s0));

assert(!s0.isSliceOf(s1));
assert( s1.isSliceOf(s1));
assert( s2.isSliceOf(s1));
assert(!s3.isSliceOf(s1));

assert(!s0.isSliceOf(s2));
assert( s1.isSliceOf(s2));
assert( s2.isSliceOf(s2));
assert(!s3.isSliceOf(s2));

assert(!s0.isSliceOf(s3));
assert(!s1.isSliceOf(s3));
assert(!s2.isSliceOf(s3));
assert( s3.isSliceOf(s3));

assert(s1.length == 4);
assert(s1[0 .. 0].isSliceOf(s1));
assert(s1[0 .. 1].isSliceOf(s1));
assert(s1[1 .. 2].isSliceOf(s1));
assert(s1[1 .. 3].isSliceOf(s1));
assert(s1[1 .. $].isSliceOf(s1));
assert(s1[$ .. $].isSliceOf(s1));

Meta

History

Added on February 11, 2025.