pub struct HeapResizableBuffer { /* private fields */ }Expand description
Heap-allocated resizable buffer.
Matches HeapResizableBuffer:
HeapResizableBuffer(size_t initialSize = 4096, size_t maxSizeStep = 1024 * 1024);
// initialSize = max(AlignSize(initialSize, true), s_MinBufferSize);
// m_maxSizeStep = max(AlignSize(maxSizeStep, false), s_MinBufferSize);
span<std::byte> BeginToGrow() {
auto newSize = m_bufferSize + std::min(m_bufferSize, m_maxSizeStep);
...
}Implementations§
Source§impl HeapResizableBuffer
impl HeapResizableBuffer
Trait Implementations§
Source§impl Debug for HeapResizableBuffer
impl Debug for HeapResizableBuffer
Source§impl Default for HeapResizableBuffer
impl Default for HeapResizableBuffer
Source§impl ResizableBuffer for HeapResizableBuffer
impl ResizableBuffer for HeapResizableBuffer
Source§fn get_buffer(&self) -> &[u8] ⓘ
fn get_buffer(&self) -> &[u8] ⓘ
Get the current buffer as a byte slice.
Source§fn get_buffer_mut(&mut self) -> &mut [u8] ⓘ
fn get_buffer_mut(&mut self) -> &mut [u8] ⓘ
Get the current buffer as a mutable byte slice.
Source§fn begin_to_grow(&mut self) -> Result<&mut [u8], BufferError>
fn begin_to_grow(&mut self) -> Result<&mut [u8], BufferError>
Begin a grow operation and return the new (larger) buffer.
Existing content is copied to the FRONT of the new buffer.
The caller may relocate content; then call
commit() (or
rollback() to cancel).Auto Trait Implementations§
impl Freeze for HeapResizableBuffer
impl RefUnwindSafe for HeapResizableBuffer
impl Send for HeapResizableBuffer
impl Sync for HeapResizableBuffer
impl Unpin for HeapResizableBuffer
impl UnsafeUnpin for HeapResizableBuffer
impl UnwindSafe for HeapResizableBuffer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more