public unsafe long ReadInt64() { const int ValueSize = sizeof(long); EnsureSufficientSizeRemaining(ValueSize); long result; fixed(byte *ptr = &Buffer[Position]) result = *(long *)ptr; Position += ValueSize; return(EndiannessConverter.Convert(result, Endianness)); }
public unsafe Guid ReadGuid() { const int ValueSize = 16; EnsureSufficientSizeRemaining(ValueSize); Guid result; fixed(byte *ptr = &Buffer[Position]) result = *(Guid *)ptr; Position += ValueSize; return(EndiannessConverter.Convert(result, Endianness)); }
public unsafe short ReadInt16() { const int ValueSize = sizeof(short); EnsureSufficientSizeRemaining(ValueSize); short result; fixed(byte *ptr = &Buffer[Position]) result = *(short *)ptr; Position += ValueSize; return(EndiannessConverter.Convert(result, Endianness)); }
public unsafe double ReadDouble() { const int ValueSize = sizeof(double); EnsureSufficientSizeRemaining(ValueSize); double result; fixed(byte *ptr = &Buffer[Position]) result = *(double *)ptr; Position += ValueSize; return(EndiannessConverter.Convert(result, Endianness)); }