diff options
Diffstat (limited to 'src/Ryujinx.Common/Memory/SpanWriter.cs')
-rw-r--r-- | src/Ryujinx.Common/Memory/SpanWriter.cs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/Ryujinx.Common/Memory/SpanWriter.cs b/src/Ryujinx.Common/Memory/SpanWriter.cs index 5c35569d..248acc42 100644 --- a/src/Ryujinx.Common/Memory/SpanWriter.cs +++ b/src/Ryujinx.Common/Memory/SpanWriter.cs @@ -8,7 +8,7 @@ namespace Ryujinx.Common.Memory { private Span<byte> _output; - public int Length => _output.Length; + public readonly int Length => _output.Length; public SpanWriter(Span<byte> output) { @@ -18,28 +18,28 @@ namespace Ryujinx.Common.Memory public void Write<T>(T value) where T : unmanaged { MemoryMarshal.Cast<byte, T>(_output)[0] = value; - _output = _output.Slice(Unsafe.SizeOf<T>()); + _output = _output[Unsafe.SizeOf<T>()..]; } public void Write(ReadOnlySpan<byte> data) { - data.CopyTo(_output.Slice(0, data.Length)); - _output = _output.Slice(data.Length); + data.CopyTo(_output[..data.Length]); + _output = _output[data.Length..]; } - public void WriteAt<T>(int offset, T value) where T : unmanaged + public readonly void WriteAt<T>(int offset, T value) where T : unmanaged { - MemoryMarshal.Cast<byte, T>(_output.Slice(offset))[0] = value; + MemoryMarshal.Cast<byte, T>(_output[offset..])[0] = value; } - public void WriteAt(int offset, ReadOnlySpan<byte> data) + public readonly void WriteAt(int offset, ReadOnlySpan<byte> data) { data.CopyTo(_output.Slice(offset, data.Length)); } public void Skip(int size) { - _output = _output.Slice(size); + _output = _output[size..]; } } } |