[#BloombergLP-bdlma-SequentialPool-allocate]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlma.adoc[bdlma]::xref:BloombergLP/bdlma/SequentialPool.adoc[SequentialPool]::allocate
:relfileprefix: ../../../
:mrdocs:

Return a block of memory of the specified `size` (in bytes)&period;

== Synopsis

Declared in `&lt;bdlma&lowbar;sequentialpool&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
void*
allocate(xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size&lowbar;type] size);
----

== Description

Return the address of a contiguous block of memory of the specified `size` (in bytes) according to the alignment strategy specified at construction&period; If `size` is 0, no memory is allocated and 0 is returned&period; If the allocation request exceeds the remaining free memory space in the current internal buffer, use the allocator supplied at construction to allocate a new internal buffer, then allocate memory from the new buffer&period;

== Return Value

address of a contiguous block of `size` bytes, or 0 if `size` is 0

== Parameters

[cols="1,4"]
|===
| Name| Description
| *size*
| number of bytes to allocate
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
