Truncate the allocation at address from originalSize to newSize.

Synopsis

Declared in <bdlma_sequentialpool.h>

bsls::Types::size_type
truncate(
    void* address,
    bsls::Types::size_type originalSize,
    bsls::Types::size_type newSize);

Description

Reduce the amount of memory allocated at the specified address of the specified originalSize (in bytes) to the specified newSize. Return newSize after truncating, or originalSize if the memory block at address cannot be truncated. This method can only truncate the memory block returned by the most recent allocate request from this memory pool, and otherwise has no effect. The behavior is undefined unless the memory block at address was originally allocated by this memory pool, the size of the memory block at address is originalSize, newSize <= originalSize, and release was not called after allocating the memory block at address.

Return Value

newSize after truncating, or originalSize if the memory block at address cannot be truncated

Parameters

Name

Description

address

memory previously allocated by this pool

originalSize

current size in bytes of the allocation at address

newSize

desired size in bytes after truncation

Created with MrDocs