[#BloombergLP-bslma-Allocator-do_deallocate] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslma.adoc[bslma]::xref:BloombergLP/bslma/Allocator.adoc[Allocator]::do_deallocate :relfileprefix: ../../../ :mrdocs: Return the memory block at the specified `p` address, having the specified `bytes` and specified `alignment`, back to this allocator. Unless overriden in a derived class, this function will forward the deallocation request to the `deallocate` virtual function, padding `bytes` and adjusting `p` as necessary to account for `alignment` values other than the natural alignment for an object of size `bytes`. The behavior is undefined unless `address` is a block allocated from this allocator object using the same `bytes` and `alignment` and not already deallocated. == Synopsis Declared in `<bslma_allocator.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- virtual void do_deallocate( void* p, std::size_t bytes, std::size_t alignment) override; ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#