using System; using System.IO; using System.Runtime.InteropServices; namespace Ryujinx.Common { public static class BinaryWriterExtensions { public unsafe static void WriteStruct(this BinaryWriter writer, T value) where T : unmanaged { ReadOnlySpan data = MemoryMarshal.Cast(MemoryMarshal.CreateReadOnlySpan(ref value, 1)); writer.Write(data); } public static void Write(this BinaryWriter writer, UInt128 value) { writer.Write((ulong)value); writer.Write((ulong)(value >> 64)); } public static void Write(this BinaryWriter writer, MemoryStream stream) { stream.CopyTo(writer.BaseStream); } } }