- Support for Little and Big Endianness, this can be configured on ReBuffer::SetEndianness and will default to the endianness set in BitConverter::IsLittleEndian. this change shouldn't affect current API
- Added ReBuffer::ShrinkFit to resize internal array to fit used space of buffer
- Added Unity packer for Matrix4x4, Bounds, BoundsInt, Rect, RectInt, Rigidbody and Rigidbody2D
- Added ReBuffer::GetRef to get a reference to an unmanaged value type
this reference can then be change to modify the value in the buffer
- ReBuffer::Copy using WriteCursor instead of Length
- ReBuffer::Clone using write cursor instead of Length for new buffers size
- ReBuffer::SetWriteCursor/SetReadCursor not checking for lower bounds
- ReBuffer::CanWriteBytes not checking correct bounds
- more test cases for ReBuffer
- clarified offset parameter on ReBuffer::Peek as byteOffset
- Fixed wrapper for UnityEngine::Rect
- Peek an unmanaged value on the buffer
- Added CanRead and CanReadBytes methods to Buffer
- Added "expand" parameter to Buffer constructor, allowing it to grow in size to fit data.
used automatically withRePacking.Pack<T>(ref T value)
. - Added runtime SizeOf calculation for tagged and unmanaged objects
used withRePacking.SizeOf<T>(ref T value)
any custom wrappers needs to overrideRePackerWrapper.SizeOf
unless they're unmanaged/directly copyable - Copy one buffer into another, as long as the destination can fit it
- Support for ValueTuple and ValueTuple with TRest
- Buffer is now a class and renamed to ReBuffer, replacing BoxedBuffer entirely
- Moved packing/unpacking utils from Buffer into extension class
- renamed Buffer::CanFit to CanWrite
- renamed Buffer::CanFitBytes to CanWriteBytes
- renamed Buffer::MemoryCopyFromUnsafe to Buffer::PackArray
- renamed Buffer::MemoryCopyToUnsafe to Buffer::UnpackArray
- renamed Pop/Push on Buffer extensions to Pack/Unpack
- bunch of other smaller changes to names/structure
- null ref in Buffer::MemoryCopyFromUnsafe