BloombergLP::bdlma::BufferImpUtil::allocateNaturallyAlignedFromBufferRaw

Allocate a naturally-aligned memory block from a buffer, without checking capacity.

Synopsis

Declared in <bdlma_bufferimputil.h>

static
void*
allocateNaturallyAlignedFromBufferRaw(
    bsls::Types::IntPtr* cursor,
    char* buffer,
    bsls::Types::size_type size);

Description

Allocate a naturally-aligned memory block of the specified size (in bytes) from the specified buffer at the specified cursor position. Return the address of the allocated memory block. The cursor is set to the first byte position immediately after the allocated memory. The behavior is undefined unless 0 < size, buffer contains sufficient available memory, and cursor refers to a valid position in buffer.

Return Value

address of the allocated memory block

Parameters

NameDescription
cursorbyte offset into buffer at which to allocate
buffermemory buffer from which to allocate
sizesize in bytes of the memory block to allocate