public static bool StartsWith()

in src/DotPulsar/Internal/Extensions/ReadOnlySequenceExtensions.cs [21:46]


    public static bool StartsWith<T>(this ReadOnlySequence<T> sequence, ReadOnlyMemory<T> target) where T : IEquatable<T>
    {
        if (target.Length > sequence.Length)
            return false;

        var targetIndex = 0;
        var targetSpan = target.Span;

        foreach (var memory in sequence)
        {
            var span = memory.Span;

            for (var i = 0; i < span.Length; ++i)
            {
                if (!span[i].Equals(targetSpan[targetIndex]))
                    return false;

                ++targetIndex;

                if (targetIndex == targetSpan.Length)
                    return true;
            }
        }

        return false;
    }