std::allocator_traits<Alloc>::destroy
From cppreference.com
< cpp | memory | allocator traits
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Memory management library
(exposition only*)
(C++11)
(C++23)
(C++11)
(C++17)
(C++11)
(C++11)
(C++20)
(C++20)
(C++17)
(C++11)
(C++17)
(C++20)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
Uninitialized storage (until C++20)
(until C++20*)
(until C++20*)
(until C++20*)
Garbage collector support (until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)
(C++11)
(C++17)
(C++20)
(C++17)
(C++11)
(C++11)
(C++11)
(until C++17*)
(C++11)
(C++17)
(C++26)
(C++26)
(C++11)
(C++11)
(C++11)
(C++23)
(C++23)
(C++11)
(C++20)
(C++11)
(C++11)
(C++20)
(C++26)
Defined in header
<memory>
template< class T >
static void destroy( Alloc& a, T* p );
(since C++11) static void destroy( Alloc& a, T* p );
(constexpr since C++20)
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).
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] Example
This section is incomplete
Reason: no example
Reason: no example