diff options
Diffstat (limited to 'src/Ryujinx.Common/Extensions/BinaryReaderExtensions.cs')
-rw-r--r-- | src/Ryujinx.Common/Extensions/BinaryReaderExtensions.cs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/Ryujinx.Common/Extensions/BinaryReaderExtensions.cs b/src/Ryujinx.Common/Extensions/BinaryReaderExtensions.cs new file mode 100644 index 00000000..21da6fc0 --- /dev/null +++ b/src/Ryujinx.Common/Extensions/BinaryReaderExtensions.cs @@ -0,0 +1,16 @@ +using System; +using System.IO; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Ryujinx.Common +{ + public static class BinaryReaderExtensions + { + public unsafe static T ReadStruct<T>(this BinaryReader reader) + where T : unmanaged + { + return MemoryMarshal.Cast<byte, T>(reader.ReadBytes(Unsafe.SizeOf<T>()))[0]; + } + } +} |