/// <summary> /// Moves to the next <see cref="Span{Byte}"/> in the <see cref="ReadableBuffer"/> /// </summary> /// <returns></returns> public bool MoveNext() { var start = _buffer.Start; var moved = start.TryGetBuffer(_buffer.End, out _current, out start); _buffer = _buffer.Slice(start); return(moved); }
private static unsafe T ReadMultiLittle <[Primitive] T>(ReadableBuffer buffer, int len) where T : struct { byte *local = stackalloc byte[len]; var localSpan = new Span <byte>(local, len); buffer.Slice(0, len).CopyTo(localSpan); return(localSpan.ReadLittleEndian <T>()); }