Defined in header <memory>
template< class T >
static void destroy( Alloc& a, T* p );
(since C++11)

Calls the destructor of the object pointed to by p. If possible, does so by calling a.destroy(p). If not possible (e.g. a does not have the member function destroy()), then calls the destructor of *p directly, as p->~T().


[edit] Parameters

a - allocator to use for destruction
p - pointer to the object being destroyed

[edit] Return value


[edit] Notes

Because this function provides the automatic fall back to direct call to the destructor, the member function destroy() is an optional Allocator requirement since C++11.

[edit] See also

destructs an object in allocated storage
(public member function of std::allocator)