Пример #1
0
        /// <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>());
        }