[#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 the specified `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 (at least) the specified positive `size` (in bytes)&period; If `size` is 0, a null pointer is returned with no other effect&period; If this allocator cannot return the requested number of bytes, then it will throw a `std&colon;&colon;bad&lowbar;alloc` exception in an exception&hyphen;enabled build, or else will abort the program in a non&hyphen;exception build&period; Note that the alignment of the address returned conforms to the platform requirement for any object of size `size` and is also guaranteed to be at least the alignment passed to the constructor&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;_]#


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