public void Put(short value) { if (_autoResize) { ResizeIfNeed(_position + 2); } FastBitConverter.GetBytes(_data, _position, value); _position += 2; }
public void Put(ulong value) { if (_autoResize) { ResizeIfNeed(_position + 8); } FastBitConverter.GetBytes(_data, _position, value); _position += 8; }
public void Put(float value) { if (_autoResize) { ResizeIfNeed(_position + 4); } FastBitConverter.GetBytes(_data, _position, value); _position += 4; }
public void PutBytesWithLength(byte[] data) { if (_autoResize) { ResizeIfNeed(_position + data.Length + 4); } FastBitConverter.GetBytes(_data, _position, data.Length); Buffer.BlockCopy(data, 0, _data, _position + 4, data.Length); _position += data.Length + 4; }
public void PutBytesWithLength(byte[] data, int offset, int length) { if (_autoResize) { ResizeIfNeed(_position + length + 4); } FastBitConverter.GetBytes(_data, _position, length); Buffer.BlockCopy(data, offset, _data, _position + 4, length); _position += length + 4; }
private void __PutArrayFastLE <T>(T[] x, int elemSize) where T : struct { ushort len = x == null ? (ushort)0 : (ushort)x.Length; int bytesCount = elemSize * len; ResizeIfNeed(_position + 2 + bytesCount); FastBitConverter.GetBytes(_data, _position, len); _position += 2; if (len == 0) { return; } // if we are LE, just do a block copy Buffer.BlockCopy(x, 0, _data, _position, bytesCount); _position += bytesCount; }
public void Write(char value) { ResizeIfNeed(_position + 2); FastBitConverter.GetBytes(_data, _position, value); _position += 2; }
public void Write(uint value) { ResizeIfNeed(_position + 4); FastBitConverter.GetBytes(_data, _position, value); _position += 4; }
public void Write(ulong value) { ResizeIfNeed(_position + 8); FastBitConverter.GetBytes(_data, _position, value); _position += 8; }
public void PutInt16(short value) { ResizeIfNeed(_position + 2); FastBitConverter.GetBytes(_data, _position, value); _position += 2; }
public void PutDouble(double value) { ResizeIfNeed(_position + 8); FastBitConverter.GetBytes(_data, _position, value); _position += 8; }
public void PutSingle(float value) { ResizeIfNeed(_position + 4); FastBitConverter.GetBytes(_data, _position, value); _position += 4; }