Scroll to navigation

std::allocator_traits::destroy(3) C++ Standard Libary std::allocator_traits::destroy(3)

NAME

std::allocator_traits::destroy - std::allocator_traits::destroy

Synopsis


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


Calls the destructor of the object pointed to by p. If possible, does so by calling
a.destroy(p). If not possible (e.g. Alloc does not have the member function
destroy()), then calls
the destructor of *p directly, as p->~T()
(until C++20)
std::destroy_at(p)
(since C++20).

Parameters


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

Return value


(none)

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.

See also


destroy destructs an object in allocated storage
(until C++20) (public member function of std::allocator<T>)

2022.07.31 http://cppreference.com