public sbyte Read(Block_I block) { var bytes = block.Data; var offset = block.Position; return((sbyte)bytes[offset]); }
public bool Read(Block_I block) { var bytes = block.Data; var offset = block.Position; return(bytes[offset] > 0); }
public void Write(Block_I block, bool value) { var bytes = block.Data; var offset = block.Position; bytes[offset] = value ? TRUE : FALSE; }
public void Write(Block_I block, sbyte value) { var bytes = block.Data; var offset = block.Position; bytes[offset] = (byte)value; }
public void Read(Block_I block, out char data) { var byte1 = block.Data[block.Position++]; var byte2 = block.Data[block.Position++]; data = (char)((byte1 & 0xff) | ((byte2 & 0xff) << 8)); }
public void Write(Block_I block, sbyte value) { var bytes = block.Data; var offset = block.Position; Write(bytes, offset, value); }
public void Read(Block_I block, out string stringToRead) { long iLength; block.Read(out iLength); if (iLength == 0) { stringToRead = string.Empty; return; } var oChars = new char[iLength]; for (var ii = 0; ii < iLength; ii++) { short currentShort; block.Read(out currentShort); oChars[ii] = (char)currentShort; } stringToRead = new string(oChars); }
public void Write(Block_I block, byte[] data, long offset, long length) { for (long i = 0; i < length; i++) { Write(block, data[offset + i]); } }
public void Read(Block_I block, out ulong data) { long dataLong; block.Read(out dataLong); data = (ulong)dataLong; }
public void Write(Block_I block, char value) { var bytes = block.Data; var offset = block.Position; bytes[offset + 1] = (byte)(value & 0xff); // Big Endian - larger address, least significant byte, which should generally be the ascii number bytes[offset] = (byte)(value >> 8); // Big Endian - smaller address, most significant byte, which should be generally 00 }
public void Read(Block_I block, out TimeSpan data) { long ticks; block.Read(out ticks); data = new TimeSpan(ticks); }
public void Read(Block_I block, out uint data) { int dataLong; block.Read(out dataLong); data = (uint)dataLong; }
public void Read(Block_I block, out ushort data) { short dataLong; block.Read(out dataLong); data = (ushort)dataLong; }
public void Read(Block_I block, out DateTime data) { long ticks; block.Read(out ticks); data = new DateTime(ticks); }
public void Write(Block_I block, short data) { var iOffset = block.Position + 2; block.Position = iOffset; block.Data[--iOffset] = (byte)(data & 0xff); block.Data[--iOffset] = (byte)(data >> 8); }
public char Read(Block_I block) { var bytes = block.Data; var offset = block.Position; var upper = bytes[offset]; // Big Endian - smaller address, most significant byte, which should be generally 00 var lower = bytes[offset + 1]; // larger address, least significant byte, which should generally be the ascii number return((char)((lower & 0xff) | ((upper & 0xff) << 8))); }
public void Write(Block_I block, string stringToWrite) { var iLength = stringToWrite.Length; block.Write(iLength); for (var i = 0; i < iLength; i++) { block.Write((byte)(stringToWrite[i] & 0xff)); } }
public void Write(Block_I block, int data) { var iOffset = block.Position + 4; block.Position = iOffset; block.Data[--iOffset] = (byte)data; block.Data[--iOffset] = (byte)(data >>= 8); block.Data[--iOffset] = (byte)(data >>= 8); block.Data[--iOffset] = (byte)(data >> 8); }
public void Read(Block_I block, byte[] data, long offset, long length) { for (long i = 0; i < length; i++) { byte dataByte; Read(block, out dataByte); data[offset + i] = dataByte; } }
public void Read(Block_I block, out long valueToRead) { var iOffset = (block.Position += 8) - 1; valueToRead = (block.Data[iOffset] << 56) | (block.Data[--iOffset] << 48) | (block.Data[--iOffset] << 40) | (block.Data[--iOffset] << 32) | (block.Data[--iOffset] << 24) | (block.Data[--iOffset] << 16) | (block.Data[--iOffset] << 8) | (block.Data[--iOffset]); }
public void Write(Block_I block, long valueToWrite) { var iOffset = block.Position + 8; block.Position = iOffset; block.Data[--iOffset] = (byte)(valueToWrite >> 56); block.Data[--iOffset] = (byte)(valueToWrite >> 48); block.Data[--iOffset] = (byte)(valueToWrite >> 40); block.Data[--iOffset] = (byte)(valueToWrite >> 32); block.Data[--iOffset] = (byte)(valueToWrite >> 24); block.Data[--iOffset] = (byte)(valueToWrite >> 16); block.Data[--iOffset] = (byte)(valueToWrite >> 8); block.Data[--iOffset] = (byte)(valueToWrite >> 0); }
void ObjectCodec_I.Write(Block_I block, object value) { Write(block, (int)value); }
public int Read(Block_I block) { return(Read(block.Data, block.Position)); }
public void Write(Block_I block, decimal value) { Write(block.Data, block.Position, value); }
public decimal Read(Block_I block) { return(Read(block.Data, block.Position)); }
void ObjectCodec_I.Write(Block_I block, object value) { Write(block, (decimal)value); }
public void Write(Block_I block, ushort data) { block.Write((short)data); }
public void Write(Block_I block, int value) { Write(block.Data, block.Position, value); }
object ObjectCodec_I.Read(Block_I block) { return(Read(block)); }
public void Write(Block_I block, TimeSpan value) { Write(block.Data, block.Position, value); }