# std::scoped_allocator_adaptor::destroy

From cppreference.com
< cpp‎ | memory‎ | scoped allocator adaptor

Defined in header `<scoped_allocator>` |  |
template< class T > void destroy( T* p ); |  | (since C++11)

Uses the outer allocator to call the destructor of the object pointed to by `p`, by calling

std::allocator_traits<OUTERMOST>::destroy(OUTERMOST(*this), p)

where OUTERMOST is the type that would be returned by calling this->outer_allocator(), and then calling the `outer_allocator()` member function recursively on the result of this call until reaching the type that has no such member function.

### Parameters

p | - | pointer to the object that is going to be destroyed

### Return value

(none)

### See also

destroy [static] | destructs an object stored in the allocated storage (function template)
destroy (deprecated in C++17) | destructs an object in allocated storage (public member function of `std::allocator`)

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/memory/scoped_allocator_adaptor/destroy&oldid=62780"