Added stream related methods to LittleEndianWriter.cs

This commit is contained in:
Tal Aloni 2023-06-02 22:40:21 +03:00
parent ecce6f9311
commit 4c3d3b542f

View file

@ -11,18 +11,6 @@ namespace Utilities
{ {
public class LittleEndianWriter public class LittleEndianWriter
{ {
public static void WriteUInt16(byte[] buffer, int offset, ushort value)
{
byte[] bytes = LittleEndianConverter.GetBytes(value);
Array.Copy(bytes, 0, buffer, offset, bytes.Length);
}
public static void WriteUInt16(byte[] buffer, ref int offset, ushort value)
{
WriteUInt16(buffer, offset, value);
offset += 2;
}
public static void WriteInt16(byte[] buffer, int offset, short value) public static void WriteInt16(byte[] buffer, int offset, short value)
{ {
byte[] bytes = LittleEndianConverter.GetBytes(value); byte[] bytes = LittleEndianConverter.GetBytes(value);
@ -35,16 +23,16 @@ namespace Utilities
offset += 2; offset += 2;
} }
public static void WriteUInt32(byte[] buffer, int offset, uint value) public static void WriteUInt16(byte[] buffer, int offset, ushort value)
{ {
byte[] bytes = LittleEndianConverter.GetBytes(value); byte[] bytes = LittleEndianConverter.GetBytes(value);
Array.Copy(bytes, 0, buffer, offset, bytes.Length); Array.Copy(bytes, 0, buffer, offset, bytes.Length);
} }
public static void WriteUInt32(byte[] buffer, ref int offset, uint value) public static void WriteUInt16(byte[] buffer, ref int offset, ushort value)
{ {
WriteUInt32(buffer, offset, value); WriteUInt16(buffer, offset, value);
offset += 4; offset += 2;
} }
public static void WriteInt32(byte[] buffer, int offset, int value) public static void WriteInt32(byte[] buffer, int offset, int value)
@ -59,16 +47,16 @@ namespace Utilities
offset += 4; offset += 4;
} }
public static void WriteUInt64(byte[] buffer, int offset, ulong value) public static void WriteUInt32(byte[] buffer, int offset, uint value)
{ {
byte[] bytes = LittleEndianConverter.GetBytes(value); byte[] bytes = LittleEndianConverter.GetBytes(value);
Array.Copy(bytes, 0, buffer, offset, bytes.Length); Array.Copy(bytes, 0, buffer, offset, bytes.Length);
} }
public static void WriteUInt64(byte[] buffer, ref int offset, ulong value) public static void WriteUInt32(byte[] buffer, ref int offset, uint value)
{ {
WriteUInt64(buffer, offset, value); WriteUInt32(buffer, offset, value);
offset += 8; offset += 4;
} }
public static void WriteInt64(byte[] buffer, int offset, long value) public static void WriteInt64(byte[] buffer, int offset, long value)
@ -83,6 +71,18 @@ namespace Utilities
offset += 8; offset += 8;
} }
public static void WriteUInt64(byte[] buffer, int offset, ulong value)
{
byte[] bytes = LittleEndianConverter.GetBytes(value);
Array.Copy(bytes, 0, buffer, offset, bytes.Length);
}
public static void WriteUInt64(byte[] buffer, ref int offset, ulong value)
{
WriteUInt64(buffer, offset, value);
offset += 8;
}
public static void WriteGuid(byte[] buffer, int offset, Guid value) public static void WriteGuid(byte[] buffer, int offset, Guid value)
{ {
byte[] bytes = LittleEndianConverter.GetBytes(value); byte[] bytes = LittleEndianConverter.GetBytes(value);
@ -95,6 +95,12 @@ namespace Utilities
offset += 16; offset += 16;
} }
public static void WriteInt16(Stream stream, short value)
{
byte[] bytes = LittleEndianConverter.GetBytes(value);
stream.Write(bytes, 0, bytes.Length);
}
public static void WriteUInt16(Stream stream, ushort value) public static void WriteUInt16(Stream stream, ushort value)
{ {
byte[] bytes = LittleEndianConverter.GetBytes(value); byte[] bytes = LittleEndianConverter.GetBytes(value);
@ -112,5 +118,17 @@ namespace Utilities
byte[] bytes = LittleEndianConverter.GetBytes(value); byte[] bytes = LittleEndianConverter.GetBytes(value);
stream.Write(bytes, 0, bytes.Length); stream.Write(bytes, 0, bytes.Length);
} }
public static void WriteInt64(Stream stream, long value)
{
byte[] bytes = LittleEndianConverter.GetBytes(value);
stream.Write(bytes, 0, bytes.Length);
}
public static void WriteUInt64(Stream stream, ulong value)
{
byte[] bytes = LittleEndianConverter.GetBytes(value);
stream.Write(bytes, 0, bytes.Length);
}
} }
} }