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

`allocate` overloads

== Synopses

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

Return a newly allocated block of memory of at least `size` bytes&period;


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

[.small]#xref:BloombergLP/bslma/Allocator/allocate-04.adoc[_» more&period;&period;&period;_]#

Return a newly allocated block of memory of the specified `size` bytes&period;


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

[.small]#xref:BloombergLP/bdlma/AligningAllocator/allocate-06.adoc[_» more&period;&period;&period;_]#


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
&lsqb;&lsqb;nodiscard&rsqb;&rsqb;
void*
xref:BloombergLP/bslma/Allocator/allocate-034.adoc[allocate](
    size&lowbar;t &lowbar;&lowbar;bytes,
    size&lowbar;t &lowbar;&lowbar;alignment = &lowbar;S&lowbar;max&lowbar;align);
----

[.small]#xref:BloombergLP/bslma/Allocator/allocate-034.adoc[_» more&period;&period;&period;_]#

== Return Value

* pointer to the allocated memory, or null if `size` is 0
* address of the newly allocated block, or a null pointer if `size` is 0

== Parameters

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


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