コード例 #1
0
ファイル: MemoryEnumerator.cs プロジェクト: zsybupt/Channels
        /// <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);
        }
コード例 #2
0
        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>());
        }