Struct BinaryRawBufferWriter
- Namespace
- Backdash.Serialization
- Assembly
- Backdash.dll
Binary span writer.
public readonly ref struct BinaryRawBufferWriter
- Inherited Members
- Extension Methods
Constructors
BinaryRawBufferWriter(scoped in Span<byte>, ref int, Endianness?)
Initialize a new BinaryRawBufferWriter for buffer
public BinaryRawBufferWriter(scoped in Span<byte> buffer, ref int offset, Endianness? endianness = null)
Parameters
buffer
Span<byte>Byte buffer to be written
offset
intWrite offset reference
endianness
Endianness?Serialization endianness
Fields
Endianness
Gets or init the value to define which endianness should be used for serialization.
public readonly Endianness Endianness
Field Value
Properties
Capacity
Total buffer capacity in bytes.
public int Capacity { get; }
Property Value
CurrentBuffer
Returns a Span<T> for the current available buffer.
public Span<byte> CurrentBuffer { get; }
Property Value
FreeCapacity
Available buffer space in bytes
public int FreeCapacity { get; }
Property Value
WrittenCount
Total written byte count.
public int WrittenCount { get; }
Property Value
Methods
Advance(int)
Advance write pointer by count
.
public void Advance(int count)
Parameters
count
int
Write(in Frame)
Writes single Frame value
into buffer.
public void Write(in Frame value)
Parameters
value
Frame
Write(in bool)
Writes single bool value
into buffer.
public void Write(in bool value)
Parameters
value
bool
Write(in byte)
Writes single byte value
into buffer.
public void Write(in byte value)
Parameters
value
byte
Write(in char)
Writes single char value
into buffer.
public void Write(in char value)
Parameters
value
char
Write(in List<Frame>)
Writes a list Frame values
into buffer.
public void Write(in List<Frame> values)
Parameters
Write(in List<bool>)
Writes a list of bool values
into buffer.
public void Write(in List<bool> values)
Parameters
Write(in List<byte>)
Writes a list of byte values
into buffer.
public void Write(in List<byte> values)
Parameters
Write(in List<char>)
Writes a list of char values
into buffer.
public void Write(in List<char> values)
Parameters
Write(in List<DateOnly>)
Writes a list DateOnly values
into buffer.
public void Write(in List<DateOnly> values)
Parameters
Write(in List<DateTimeOffset>)
Writes a list of DateTimeOffset values
into buffer.
public void Write(in List<DateTimeOffset> values)
Parameters
values
List<DateTimeOffset>
Write(in List<DateTime>)
Writes a list of DateTime values
into buffer.
public void Write(in List<DateTime> values)
Parameters
Write(in List<double>)
Writes a list of double values
into buffer.
public void Write(in List<double> values)
Parameters
Write(in List<Guid>)
Writes a list of Guid values
into buffer.
public void Write(in List<Guid> values)
Parameters
Write(in List<Half>)
Writes a list of Half values
into buffer.
public void Write(in List<Half> values)
Parameters
Write(in List<Int128>)
Writes a list of Int128 values
into buffer.
public void Write(in List<Int128> values)
Parameters
Write(in List<short>)
Writes a list of short values
into buffer.
public void Write(in List<short> values)
Parameters
Write(in List<int>)
Writes a list of int values
into buffer.
public void Write(in List<int> values)
Parameters
Write(in List<long>)
Writes a list of long values
into buffer.
public void Write(in List<long> values)
Parameters
Write(in List<sbyte>)
Writes a list of sbyte values
into buffer.
public void Write(in List<sbyte> values)
Parameters
Write(in List<float>)
Writes a list of float values
into buffer.
public void Write(in List<float> values)
Parameters
Write(in List<TimeOnly>)
Writes a list of TimeOnly values
into buffer.
public void Write(in List<TimeOnly> values)
Parameters
Write(in List<TimeSpan>)
Writes a list of TimeSpan values
into buffer.
public void Write(in List<TimeSpan> values)
Parameters
Write(in List<UInt128>)
Writes a list of UInt128 values
into buffer.
public void Write(in List<UInt128> values)
Parameters
Write(in List<ushort>)
Writes a list of ushort values
into buffer.
public void Write(in List<ushort> values)
Parameters
Write(in List<uint>)
Writes a list of uint values
into buffer.
public void Write(in List<uint> values)
Parameters
Write(in List<ulong>)
Writes a list of ulong values
into buffer.
public void Write(in List<ulong> values)
Parameters
Write(in DateOnly)
Writes single DateOnly value
into buffer.
public void Write(in DateOnly value)
Parameters
value
DateOnly
Write(in DateTime)
Writes single DateTime value
into buffer.
public void Write(in DateTime value)
Parameters
value
DateTime
Write(in DateTimeOffset)
Writes single DateTimeOffset value
into buffer.
public void Write(in DateTimeOffset value)
Parameters
value
DateTimeOffset
Write(in double)
Writes single double value
into buffer.
public void Write(in double value)
Parameters
value
double
Write(in Guid)
Writes single Guid value
into buffer.
public void Write(in Guid value)
Parameters
value
Guid
Write(in Half)
Writes single Half value
into buffer.
public void Write(in Half value)
Parameters
value
Half
Write(in Int128)
Writes single Int128 value
into buffer.
public void Write(in Int128 value)
Parameters
value
Int128
Write(in short)
Writes single short value
into buffer.
public void Write(in short value)
Parameters
value
short
Write(in int)
Writes single int value
into buffer.
public void Write(in int value)
Parameters
value
int
Write(in long)
Writes single long value
into buffer.
public void Write(in long value)
Parameters
value
long
Write(in Frame?)
Writes single Frame value
into buffer.
public void Write(in Frame? value)
Parameters
value
Frame?
Write(in bool?)
Writes single bool value
into buffer.
public void Write(in bool? value)
Parameters
value
bool?
Write(in byte?)
Writes single byte value
into buffer.
public void Write(in byte? value)
Parameters
value
byte?
Write(in char?)
Writes single char value
into buffer.
public void Write(in char? value)
Parameters
value
char?
Write(in DateOnly?)
Writes single DateOnly value
into buffer.
public void Write(in DateOnly? value)
Parameters
value
DateOnly?
Write(in DateTimeOffset?)
Writes single DateTimeOffset value
into buffer.
public void Write(in DateTimeOffset? value)
Parameters
value
DateTimeOffset?
Write(in DateTime?)
Writes single DateTime value
into buffer.
public void Write(in DateTime? value)
Parameters
value
DateTime?
Write(in double?)
Writes single double value
into buffer.
public void Write(in double? value)
Parameters
value
double?
Write(in Guid?)
Writes single Guid value
into buffer.
public void Write(in Guid? value)
Parameters
value
Guid?
Write(in Half?)
Writes single Half value
into buffer.
public void Write(in Half? value)
Parameters
value
Half?
Write(in Int128?)
Writes single Int128 value
into buffer.
public void Write(in Int128? value)
Parameters
value
Int128?
Write(in short?)
Writes single short value
into buffer.
public void Write(in short? value)
Parameters
value
short?
Write(in int?)
Writes single int value
into buffer.
public void Write(in int? value)
Parameters
value
int?
Write(in long?)
Writes single long value
into buffer.
public void Write(in long? value)
Parameters
value
long?
Write(in sbyte?)
Writes single sbyte value
into buffer.
public void Write(in sbyte? value)
Parameters
value
sbyte?
Write(in float?)
Writes single float value
into buffer.
public void Write(in float? value)
Parameters
value
float?
Write(in TimeOnly?)
Writes single TimeOnly value
into buffer.
public void Write(in TimeOnly? value)
Parameters
value
TimeOnly?
Write(in TimeSpan?)
Writes single TimeSpan value
into buffer.
public void Write(in TimeSpan? value)
Parameters
value
TimeSpan?
Write(in UInt128?)
Writes single UInt128 value
into buffer.
public void Write(in UInt128? value)
Parameters
value
UInt128?
Write(in ushort?)
Writes single ushort value
into buffer.
public void Write(in ushort? value)
Parameters
value
ushort?
Write(in uint?)
Writes single uint value
into buffer.
public void Write(in uint? value)
Parameters
value
uint?
Write(in ulong?)
Writes single ulong value
into buffer.
public void Write(in ulong? value)
Parameters
value
ulong?
Write(in ReadOnlySpan<Frame>)
Writes a span of Frame values
into buffer.
public void Write(in ReadOnlySpan<Frame> values)
Parameters
values
ReadOnlySpan<Frame>
Write(in ReadOnlySpan<bool>)
Writes a span of bool value
into buffer.
public void Write(in ReadOnlySpan<bool> value)
Parameters
value
ReadOnlySpan<bool>
Write(in ReadOnlySpan<byte>)
Writes a span of byte value
into buffer.
public void Write(in ReadOnlySpan<byte> value)
Parameters
value
ReadOnlySpan<byte>
Write(in ReadOnlySpan<char>)
Writes a span of char value
into buffer.
public void Write(in ReadOnlySpan<char> value)
Parameters
value
ReadOnlySpan<char>
Write(in ReadOnlySpan<DateOnly>)
Writes a span of DateOnly values
into buffer.
public void Write(in ReadOnlySpan<DateOnly> values)
Parameters
values
ReadOnlySpan<DateOnly>
Write(in ReadOnlySpan<DateTimeOffset>)
Writes a span of DateTimeOffset values
into buffer.
public void Write(in ReadOnlySpan<DateTimeOffset> values)
Parameters
values
ReadOnlySpan<DateTimeOffset>
Write(in ReadOnlySpan<DateTime>)
Writes a span of DateTime values
into buffer.
public void Write(in ReadOnlySpan<DateTime> values)
Parameters
values
ReadOnlySpan<DateTime>
Write(in ReadOnlySpan<double>)
Writes a span of double values
into buffer.
public void Write(in ReadOnlySpan<double> values)
Parameters
values
ReadOnlySpan<double>
Write(in ReadOnlySpan<Guid>)
Writes a span of Guid values
into buffer.
public void Write(in ReadOnlySpan<Guid> values)
Parameters
values
ReadOnlySpan<Guid>
Write(in ReadOnlySpan<Half>)
Writes a span of Half values
into buffer.
public void Write(in ReadOnlySpan<Half> values)
Parameters
values
ReadOnlySpan<Half>
Write(in ReadOnlySpan<Int128>)
Writes a span of Int128 value
into buffer.
public void Write(in ReadOnlySpan<Int128> value)
Parameters
value
ReadOnlySpan<Int128>
Write(in ReadOnlySpan<short>)
Writes a span of short value
into buffer.
public void Write(in ReadOnlySpan<short> value)
Parameters
value
ReadOnlySpan<short>
Write(in ReadOnlySpan<int>)
Writes a span of int value
into buffer.
public void Write(in ReadOnlySpan<int> value)
Parameters
value
ReadOnlySpan<int>
Write(in ReadOnlySpan<long>)
Writes a span of long value
into buffer.
public void Write(in ReadOnlySpan<long> value)
Parameters
value
ReadOnlySpan<long>
Write(in ReadOnlySpan<sbyte>)
Writes a span of sbyte value
into buffer.
public void Write(in ReadOnlySpan<sbyte> value)
Parameters
value
ReadOnlySpan<sbyte>
Write(in ReadOnlySpan<float>)
Writes a span of float values
into buffer.
public void Write(in ReadOnlySpan<float> values)
Parameters
values
ReadOnlySpan<float>
Write(in ReadOnlySpan<TimeOnly>)
Writes a span of TimeOnly values
into buffer.
public void Write(in ReadOnlySpan<TimeOnly> values)
Parameters
values
ReadOnlySpan<TimeOnly>
Write(in ReadOnlySpan<TimeSpan>)
Writes a span of TimeSpan values
into buffer.
public void Write(in ReadOnlySpan<TimeSpan> values)
Parameters
values
ReadOnlySpan<TimeSpan>
Write(in ReadOnlySpan<UInt128>)
Writes a span of UInt128 value
into buffer.
public void Write(in ReadOnlySpan<UInt128> value)
Parameters
value
ReadOnlySpan<UInt128>
Write(in ReadOnlySpan<ushort>)
Writes a span of ushort value
into buffer.
public void Write(in ReadOnlySpan<ushort> value)
Parameters
value
ReadOnlySpan<ushort>
Write(in ReadOnlySpan<uint>)
Writes a span of uint value
into buffer.
public void Write(in ReadOnlySpan<uint> value)
Parameters
value
ReadOnlySpan<uint>
Write(in ReadOnlySpan<ulong>)
Writes a span of ulong value
into buffer.
public void Write(in ReadOnlySpan<ulong> value)
Parameters
value
ReadOnlySpan<ulong>
Write(in sbyte)
Writes single sbyte value
into buffer.
public void Write(in sbyte value)
Parameters
value
sbyte
Write(in float)
Writes single float value
into buffer.
public void Write(in float value)
Parameters
value
float
Write(in TimeOnly)
Writes single TimeOnly value
into buffer.
public void Write(in TimeOnly value)
Parameters
value
TimeOnly
Write(in TimeSpan)
Writes single TimeSpan value
into buffer.
public void Write(in TimeSpan value)
Parameters
value
TimeSpan
Write(in UInt128)
Writes single UInt128 value
into buffer.
public void Write(in UInt128 value)
Parameters
value
UInt128
Write(in ushort)
Writes single ushort value
into buffer.
public void Write(in ushort value)
Parameters
value
ushort
Write(in uint)
Writes single uint value
into buffer.
public void Write(in uint value)
Parameters
value
uint
Write(in ulong)
Writes single ulong value
into buffer.
public void Write(in ulong value)
Parameters
value
ulong
WriteAsByte<T>(in List<T>)
Reinterprets the value
as byte and writes it into buffer.
public void WriteAsByte<T>(in List<T> value) where T : unmanaged
Parameters
value
List<T>
Type Parameters
T
WriteAsByte<T>(in T?)
Reinterprets the value
as byte and writes it into buffer.
public void WriteAsByte<T>(in T? value) where T : unmanaged
Parameters
value
T?
Type Parameters
T
WriteAsByte<T>(in ReadOnlySpan<T>)
Reinterprets the value
as byte and writes it into buffer.
public void WriteAsByte<T>(in ReadOnlySpan<T> value) where T : unmanaged
Parameters
value
ReadOnlySpan<T>
Type Parameters
T
WriteAsByte<T>(in T)
Reinterprets the value
as byte and writes it into buffer.
public void WriteAsByte<T>(in T value) where T : unmanaged
Parameters
value
T
Type Parameters
T
WriteAsByte<T>(in T[])
Reinterprets the value
as byte and writes it into buffer.
public void WriteAsByte<T>(in T[] value) where T : unmanaged
Parameters
value
T[]
Type Parameters
T
WriteAsInt16<T>(in List<T>)
Reinterprets the value
as short and writes it into buffer.
public void WriteAsInt16<T>(in List<T> value) where T : unmanaged
Parameters
value
List<T>
Type Parameters
T
WriteAsInt16<T>(in T?)
Reinterprets the value
as short and writes it into buffer.
public void WriteAsInt16<T>(in T? value) where T : unmanaged
Parameters
value
T?
Type Parameters
T
WriteAsInt16<T>(in ReadOnlySpan<T>)
Reinterprets the value
as short and writes it into buffer.
public void WriteAsInt16<T>(in ReadOnlySpan<T> value) where T : unmanaged
Parameters
value
ReadOnlySpan<T>
Type Parameters
T
WriteAsInt16<T>(in T)
Reinterprets the value
as short and writes it into buffer.
public void WriteAsInt16<T>(in T value) where T : unmanaged
Parameters
value
T
Type Parameters
T
WriteAsInt16<T>(in T[])
Reinterprets the value
as short and writes it into buffer.
public void WriteAsInt16<T>(in T[] value) where T : unmanaged
Parameters
value
T[]
Type Parameters
T
WriteAsInt32<T>(in List<T>)
Reinterprets the value
as int and writes it into buffer.
public void WriteAsInt32<T>(in List<T> value) where T : unmanaged
Parameters
value
List<T>
Type Parameters
T
WriteAsInt32<T>(in T?)
Reinterprets the value
as int and writes it into buffer.
public void WriteAsInt32<T>(in T? value) where T : unmanaged
Parameters
value
T?
Type Parameters
T
WriteAsInt32<T>(in ReadOnlySpan<T>)
Reinterprets the value
as int and writes it into buffer.
public void WriteAsInt32<T>(in ReadOnlySpan<T> value) where T : unmanaged
Parameters
value
ReadOnlySpan<T>
Type Parameters
T
WriteAsInt32<T>(in T)
Reinterprets the value
as int and writes it into buffer.
public void WriteAsInt32<T>(in T value) where T : unmanaged
Parameters
value
T
Type Parameters
T
WriteAsInt32<T>(in T[])
Reinterprets the value
as int and writes it into buffer.
public void WriteAsInt32<T>(in T[] value) where T : unmanaged
Parameters
value
T[]
Type Parameters
T
WriteAsInt64<T>(in List<T>)
Reinterprets the value
as long and writes it into buffer.
public void WriteAsInt64<T>(in List<T> value) where T : unmanaged
Parameters
value
List<T>
Type Parameters
T
WriteAsInt64<T>(in T?)
Reinterprets the value
as long and writes it into buffer.
public void WriteAsInt64<T>(in T? value) where T : unmanaged
Parameters
value
T?
Type Parameters
T
WriteAsInt64<T>(in ReadOnlySpan<T>)
Reinterprets the value
as long and writes it into buffer.
public void WriteAsInt64<T>(in ReadOnlySpan<T> value) where T : unmanaged
Parameters
value
ReadOnlySpan<T>
Type Parameters
T
WriteAsInt64<T>(in T)
Reinterprets the value
as long and writes it into buffer.
public void WriteAsInt64<T>(in T value) where T : unmanaged
Parameters
value
T
Type Parameters
T
WriteAsInt64<T>(in T[])
Reinterprets the value
as long and writes it into buffer.
public void WriteAsInt64<T>(in T[] value) where T : unmanaged
Parameters
value
T[]
Type Parameters
T
WriteAsSByte<T>(in List<T>)
Reinterprets the value
as sbyte and writes it into buffer.
public void WriteAsSByte<T>(in List<T> value) where T : unmanaged
Parameters
value
List<T>
Type Parameters
T
WriteAsSByte<T>(in T?)
Reinterprets the value
as sbyte and writes it into buffer.
public void WriteAsSByte<T>(in T? value) where T : unmanaged
Parameters
value
T?
Type Parameters
T
WriteAsSByte<T>(in ReadOnlySpan<T>)
Reinterprets the value
as sbyte and writes it into buffer.
public void WriteAsSByte<T>(in ReadOnlySpan<T> value) where T : unmanaged
Parameters
value
ReadOnlySpan<T>
Type Parameters
T
WriteAsSByte<T>(in T)
Reinterprets the value
as sbyte and writes it into buffer.
public void WriteAsSByte<T>(in T value) where T : unmanaged
Parameters
value
T
Type Parameters
T
WriteAsSByte<T>(in T[])
Reinterprets the value
as sbyte and writes it into buffer.
public void WriteAsSByte<T>(in T[] value) where T : unmanaged
Parameters
value
T[]
Type Parameters
T
WriteAsUInt16<T>(in List<T>)
Reinterprets the value
as ushort and writes it into buffer.
public void WriteAsUInt16<T>(in List<T> value) where T : unmanaged
Parameters
value
List<T>
Type Parameters
T
WriteAsUInt16<T>(in T?)
Reinterprets the value
as ushort and writes it into buffer.
public void WriteAsUInt16<T>(in T? value) where T : unmanaged
Parameters
value
T?
Type Parameters
T
WriteAsUInt16<T>(in ReadOnlySpan<T>)
Reinterprets the value
as ushort and writes it into buffer.
public void WriteAsUInt16<T>(in ReadOnlySpan<T> value) where T : unmanaged
Parameters
value
ReadOnlySpan<T>
Type Parameters
T
WriteAsUInt16<T>(in T)
Reinterprets the value
as ushort and writes it into buffer.
public void WriteAsUInt16<T>(in T value) where T : unmanaged
Parameters
value
T
Type Parameters
T
WriteAsUInt16<T>(in T[])
Reinterprets the value
as ushort and writes it into buffer.
public void WriteAsUInt16<T>(in T[] value) where T : unmanaged
Parameters
value
T[]
Type Parameters
T
WriteAsUInt32<T>(in List<T>)
Reinterprets the value
as uint and writes it into buffer.
public void WriteAsUInt32<T>(in List<T> value) where T : unmanaged
Parameters
value
List<T>
Type Parameters
T
WriteAsUInt32<T>(in T?)
Reinterprets the value
as uint and writes it into buffer.
public void WriteAsUInt32<T>(in T? value) where T : unmanaged
Parameters
value
T?
Type Parameters
T
WriteAsUInt32<T>(in ReadOnlySpan<T>)
Reinterprets the value
as uint and writes it into buffer.
public void WriteAsUInt32<T>(in ReadOnlySpan<T> value) where T : unmanaged
Parameters
value
ReadOnlySpan<T>
Type Parameters
T
WriteAsUInt32<T>(in T)
Reinterprets the value
as uint and writes it into buffer.
public void WriteAsUInt32<T>(in T value) where T : unmanaged
Parameters
value
T
Type Parameters
T
WriteAsUInt32<T>(in T[])
Reinterprets the value
as uint and writes it into buffer.
public void WriteAsUInt32<T>(in T[] value) where T : unmanaged
Parameters
value
T[]
Type Parameters
T
WriteAsUInt64<T>(in List<T>)
Reinterprets the value
as ulong and writes it into buffer.
public void WriteAsUInt64<T>(in List<T> value) where T : unmanaged
Parameters
value
List<T>
Type Parameters
T
WriteAsUInt64<T>(in T?)
Reinterprets the value
as ulong and writes it into buffer.
public void WriteAsUInt64<T>(in T? value) where T : unmanaged
Parameters
value
T?
Type Parameters
T
WriteAsUInt64<T>(in ReadOnlySpan<T>)
Reinterprets the value
as ulong and writes it into buffer.
public void WriteAsUInt64<T>(in ReadOnlySpan<T> value) where T : unmanaged
Parameters
value
ReadOnlySpan<T>
Type Parameters
T
WriteAsUInt64<T>(in T)
Reinterprets the value
as ulong and writes it into buffer.
public void WriteAsUInt64<T>(in T value) where T : unmanaged
Parameters
value
T
Type Parameters
T
WriteAsUInt64<T>(in T[])
Reinterprets the value
as ulong and writes it into buffer.
public void WriteAsUInt64<T>(in T[] value) where T : unmanaged
Parameters
value
T[]
Type Parameters
T
WriteNumber<T>(in T?)
Writes a IBinaryInteger<TSelf> value
into buffer.
public void WriteNumber<T>(in T? value) where T : unmanaged, IBinaryInteger<T>
Parameters
value
T?
Type Parameters
T
A numeric type that implements IBinaryInteger<TSelf>.
WriteNumber<T>(in T)
Writes a IBinaryInteger<TSelf> value
into buffer.
public void WriteNumber<T>(in T value) where T : unmanaged, IBinaryInteger<T>
Parameters
value
T
Type Parameters
T
A numeric type that implements IBinaryInteger<TSelf>.
WriteStruct<T>(ReadOnlySpan<T>)
Writes an unmanaged struct span into buffer.
public void WriteStruct<T>(ReadOnlySpan<T> values) where T : unmanaged
Parameters
values
ReadOnlySpan<T>
Type Parameters
T
WriteStruct<T>(in T)
Writes an unmanaged struct into buffer.
public void WriteStruct<T>(in T value) where T : unmanaged
Parameters
value
T
Type Parameters
T
WriteStruct<T>(in T[])
Writes an unmanaged struct span into buffer.
public void WriteStruct<T>(in T[] values) where T : unmanaged
Parameters
values
T[]
Type Parameters
T
WriteUtf8String(in ReadOnlySpan<char>)
Writes an string value
into buffer as UTF8.
public void WriteUtf8String(in ReadOnlySpan<char> value)
Parameters
value
ReadOnlySpan<char>