Namespaces
Variants
Views
Actions

std::allocator_traits::destroy

From cppreference.com
 
 
Dynamic memory management
Uninitialized storage
(C++17)
Garbage collection support
Miscellaneous
(C++20)
(C++11)
(C++11)
C Library
Low level memory management
 
 
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().

Contents

[edit] Parameters

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

[edit] Return value

(none)

[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

(deprecated in C++17)(removed in C++20)
destructs an object in allocated storage
(public member function of std::allocator) [edit]