Struct BinaryBufferReader
- Namespace
- Backdash.Serialization
- Assembly
- Backdash.dll
Binary span reader.
public readonly ref struct BinaryBufferReader
- Inherited Members
- Extension Methods
Constructors
BinaryBufferReader(ReadOnlySpan<byte>, ref int, Endianness)
Initialize a new BinaryBufferReader for buffer
public BinaryBufferReader(ReadOnlySpan<byte> buffer, ref int offset, Endianness endianness = Endianness.BigEndian)
Parameters
buffer
ReadOnlySpan<byte>Byte buffer to be read
offset
intRead offset reference
endianness
EndiannessDeserialization endianness
Fields
Endianness
Gets or init the value to define which endianness should be used for serialization.
public readonly Endianness Endianness
Field Value
Properties
Buffer
Return full buffer
public ReadOnlySpan<byte> Buffer { get; }
Property Value
Capacity
Total buffer capacity in bytes.
public int Capacity { get; }
Property Value
CurrentBuffer
Returns a Span<T> for the current available buffer.
public ReadOnlySpan<byte> CurrentBuffer { get; }
Property Value
FreeCapacity
Available buffer space in bytes
public int FreeCapacity { get; }
Property Value
ReadCount
Total read byte count.
public int ReadCount { get; }
Property Value
Methods
Advance(int)
Advance read pointer by count
.
public void Advance(int count)
Parameters
count
int
ReadBoolean()
Reads single bool from buffer.
public bool ReadBoolean()
Returns
ReadBoolean(in Span<bool>)
Reads a span of bool from buffer into values
.
public void ReadBoolean(in Span<bool> values)
Parameters
ReadByte()
Reads single byte from buffer.
public byte ReadByte()
Returns
ReadByte(in Span<byte>)
Reads a span of byte from buffer into values
.
public void ReadByte(in Span<byte> values)
Parameters
ReadChar()
Reads single char from buffer.
public char ReadChar()
Returns
ReadChar(in Span<char>)
Reads a span of char from buffer into values
.
public void ReadChar(in Span<char> values)
Parameters
ReadDouble()
Reads single double from buffer.
public double ReadDouble()
Returns
ReadFloat()
Reads float 32 float from buffer.
public float ReadFloat()
Returns
ReadHalf()
Reads single Half from buffer.
public Half ReadHalf()
Returns
ReadInt128()
Reads single Int128 from buffer.
public Int128 ReadInt128()
Returns
ReadInt128(in Span<Int128>)
Reads a span of Int128 from buffer into values
.
public void ReadInt128(in Span<Int128> values)
Parameters
ReadInt16()
Reads single short from buffer.
public short ReadInt16()
Returns
ReadInt16(in Span<short>)
Reads a span of short from buffer into values
.
public void ReadInt16(in Span<short> values)
Parameters
ReadInt32()
Reads single int from buffer.
public int ReadInt32()
Returns
ReadInt32(in Span<int>)
Reads a span of int from buffer into values
.
public void ReadInt32(in Span<int> values)
Parameters
ReadInt64()
Reads single long from buffer.
public long ReadInt64()
Returns
ReadInt64(in Span<long>)
Reads a span of long from buffer into values
.
public void ReadInt64(in Span<long> values)
Parameters
ReadNumber<T>()
Reads single IBinaryInteger<TSelf> from buffer.
public T ReadNumber<T>() where T : unmanaged, IBinaryInteger<T>, IMinMaxValue<T>
Returns
- T
Type Parameters
T
A numeric type that implements IBinaryInteger<TSelf> and IMinMaxValue<TSelf>.
ReadNumber<T>(bool)
Reads single IBinaryInteger<TSelf> from buffer.
public T ReadNumber<T>(bool isUnsigned) where T : unmanaged, IBinaryInteger<T>
Parameters
isUnsigned
booltrue if source represents an unsigned two's complement number; otherwise, false to indicate it represents a signed two's complement number
Returns
- T
Type Parameters
T
A numeric type that implements IBinaryInteger<TSelf>.
ReadSByte()
Reads single sbyte from buffer.
public sbyte ReadSByte()
Returns
ReadSByte(in Span<sbyte>)
Reads a span of sbyte from buffer into values
.
public void ReadSByte(in Span<sbyte> values)
Parameters
ReadSingle()
Same as ReadFloat().
public float ReadSingle()
Returns
ReadString(int)
Reads and allocates an string from buffer.
public string ReadString(int size)
Parameters
size
int
Returns
ReadStructUnsafe<T>()
Reads an unmanaged struct from buffer.
public T ReadStructUnsafe<T>() where T : struct
Returns
- T
Type Parameters
T
ReadStructUnsafe<T>(in Span<T>)
Reads an unmanaged struct from buffer.
public void ReadStructUnsafe<T>(in Span<T> values) where T : struct
Parameters
values
Span<T>
Type Parameters
T
ReadStruct<T>()
Reads an unmanaged struct from buffer.
public T ReadStruct<T>() where T : unmanaged
Returns
- T
Type Parameters
T
ReadStruct<T>(in Span<T>)
Reads an unmanaged struct from buffer.
public void ReadStruct<T>(in Span<T> values) where T : unmanaged
Parameters
values
Span<T>
Type Parameters
T
ReadStruct<T>(ref T)
Reads an unmanaged struct from buffer.
public void ReadStruct<T>(ref T value) where T : unmanaged
Parameters
value
T
Type Parameters
T
ReadStruct<T>(in T[])
Reads an unmanaged struct from buffer.
public void ReadStruct<T>(in T[] values) where T : unmanaged
Parameters
values
T[]
Type Parameters
T
ReadUInt128()
Reads single UInt128 from buffer.
public UInt128 ReadUInt128()
Returns
ReadUInt128(in Span<UInt128>)
Reads a span of UInt128 from buffer into values
.
public void ReadUInt128(in Span<UInt128> values)
Parameters
ReadUInt16()
Reads single ushort from buffer.
public ushort ReadUInt16()
Returns
ReadUInt16(in Span<ushort>)
Reads a span of ushort from buffer into values
.
public void ReadUInt16(in Span<ushort> values)
Parameters
ReadUInt32()
Reads single uint from buffer.
public uint ReadUInt32()
Returns
ReadUInt32(in Span<uint>)
Reads a span of uint from buffer into values
.
public void ReadUInt32(in Span<uint> values)
Parameters
ReadUInt64()
Reads single ulong from buffer.
public ulong ReadUInt64()
Returns
ReadUInt64(in Span<ulong>)
Reads a span of ulong from buffer into values
.
public void ReadUInt64(in Span<ulong> values)
Parameters
ReadUtf8Char()
Reads single char from buffer.
public char ReadUtf8Char()
Returns
ReadUtf8String(in Span<char>)
Reads a span of char from buffer into values
.
public void ReadUtf8String(in Span<char> values)
Parameters
Read<T>(in List<T>)
Writes an array of IBinarySerializablevalues
into buffer.
public void Read<T>(in List<T> values) where T : IBinarySerializable
Parameters
values
List<T>
Type Parameters
T
A type that implements IBinarySerializable.
Read<T>(in Span<T>)
Reads a span of IBinarySerializablevalues
into buffer.
public void Read<T>(in Span<T> values) where T : IBinarySerializable
Parameters
values
Span<T>
Type Parameters
T
A type that implements IBinarySerializable.
Read<T>(ref T)
Reads a IBinarySerializablevalue
from buffer.
public void Read<T>(ref T value) where T : IBinarySerializable
Parameters
value
T
Type Parameters
T
A type that implements IBinarySerializable.
Read<T>(in T[])
Reads an array of IBinarySerializablevalues
into buffer.
public void Read<T>(in T[] values) where T : IBinarySerializable
Parameters
values
T[]
Type Parameters
T
A type that implements IBinarySerializable.