[#BloombergLP-bslma-TestAllocator-allocate-0e] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslma.adoc[bslma]::xref:BloombergLP/bslma/TestAllocator.adoc[TestAllocator]::allocate :relfileprefix: ../../../ :mrdocs: Return a newly‐allocated block of memory of the specified `size` (in bytes). If `size` is 0, a null pointer is returned. Otherwise, invoke the `allocate` method of the allocator supplied at construction, increment the number of currently (and cumulatively) allocated blocks, and increase the number of currently allocated bytes by `size`. Update all other fields accordingly; if the allocation fails via an exception, `numAllocations()` is incremented, `lastAllocatedNumBytes()` is set to `size`, and `lastDeallocatedAddress()` is set to 0. == Synopses Declared in `<bslma_testallocator.h>` Return a newly‐allocated block of memory of the specified `size` (in bytes). If `size` is 0, a null pointer is returned. Otherwise, invoke the `allocate` method of the allocator supplied at construction, increment the number of currently (and cumulatively) allocated blocks, and increase the number of currently allocated bytes by `size`. Update all other fields accordingly; if the allocation fails via an exception, `numAllocations()` is incremented, `lastAllocatedNumBytes()` is set to `size`, and `lastDeallocatedAddress()` is set to 0. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- virtual void* xref:BloombergLP/bslma/TestAllocator/allocate-04.adoc[allocate](xref:BloombergLP/bslma/Allocator/size_type.adoc[size_type] size) override; ---- [.small]#xref:BloombergLP/bslma/TestAllocator/allocate-04.adoc[_» more..._]# [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- [[nodiscard]] void* xref:BloombergLP/bslma/Allocator/allocate-034.adoc[allocate]( size_t __bytes, size_t __alignment = _S_max_align); ---- [.small]#xref:BloombergLP/bslma/Allocator/allocate-034.adoc[_» more..._]# [.small]#Created with https://www.mrdocs.com[MrDocs]#