A buffer that relies on moving chunks of data in memory to ensure that contiguous slices of any requested size can always be provided.
A postblit is present on this object, but not explicitly documented in the source.
Allocates space for at least n new objects of type T to be written to the buffer.
Adds first n objects of type T stored in the slice previously obtained using alloc. Does not touch the remaining part of that slice.
Removes first n objects of type T from the buffer.
Returns a read-only slice, typed as const(T), containing all data currently available in the buffer.