Release all allocated memory.
This function deallocates all allocated memory. If an initial buffer was provided upon construction, then all of the bytes will be available again for allocation. Allocated memory is deallocated even if deallocate has not been called for some of the allocated blocks.
Linear in the number of deallocations performed.