add VersionedSerialization + source generator

This commit is contained in:
LukeFZ
2024-08-13 04:27:23 +02:00
parent 30c019c4ef
commit 22ecdc3612
25 changed files with 1585 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
using System.Collections.Immutable;
namespace VersionedSerialization;
public interface IReader
{
bool Is32Bit { get; }
bool ReadBoolean();
long ReadNInt();
ulong ReadNUInt();
string ReadString();
ReadOnlySpan<byte> ReadBytes(int length);
T Read<T>() where T : unmanaged;
ImmutableArray<T> ReadArray<T>(long count) where T : unmanaged;
T ReadObject<T>(in StructVersion version = default) where T : IReadable, new();
ImmutableArray<T> ReadObjectArray<T>(long count, in StructVersion version = default) where T : IReadable, new();
public void Align(int alignment = 0);
}