libstdc++
std::default_delete< _Tp[]> Struct Template Reference

#include <memory>

Public Member Functions

constexpr default_delete () noexcept=default
 
constexpr default_delete () noexcept=default
 
constexpr default_delete (const default_delete< _Up > &) noexcept
 
template<typename _Up, typename = _Require<is_convertible<_Up(*)[], _Tp(*)[]>>>
constexpr default_delete (const default_delete< _Up[]> &) noexcept
 
constexpr void operator() (_Tp *__ptr) const
 
template<typename _Up>
constexpr enable_if< is_convertible< _Up(*)[], _Tp(*)[]>::value >::type operator() (_Up *__ptr) const
 

Detailed Description

template<typename _Tp>
struct std::default_delete< _Tp[]>

Specialization of default_delete for arrays, used by unique_ptr<T[]>

Since
C++11

Definition at line 106 of file unique_ptr.h.

Constructor & Destructor Documentation

◆ default_delete() [1/4]

template<typename _Tp>
std::default_delete< _Tp[]>::default_delete ( )
constexprdefaultnoexcept

Default constructor.

Referenced by default_delete().

◆ default_delete() [2/4]

template<typename _Tp>
template<typename _Up, typename = _Require<is_convertible<_Up(*)[], _Tp(*)[]>>>
std::default_delete< _Tp[]>::default_delete ( const default_delete< _Up[]> & )
inlineconstexprnoexcept

Converting constructor.

Allows conversion from a deleter for arrays of another type, such as a const-qualified version of _Tp.

Conversions from types derived from _Tp are not allowed because it is undefined to delete[] an array of derived types through a pointer to the base type.

Definition at line 124 of file unique_ptr.h.

References default_delete().

◆ default_delete() [3/4]

std::default_delete< _Tp >::default_delete ( )
constexprdefaultnoexcept

Default constructor.

◆ default_delete() [4/4]

std::default_delete< _Tp >::default_delete ( const default_delete< _Up > & )
inlineconstexprnoexcept

Converting constructor.

Allows conversion from a deleter for objects of another type, _Up, only if _Up* is convertible to _Tp*.

Definition at line 82 of file unique_ptr.h.

Member Function Documentation

◆ operator()() [1/2]

void std::default_delete< _Tp >::operator() ( _Tp * __ptr) const
inlineconstexpr

Calls delete __ptr

Definition at line 87 of file unique_ptr.h.

◆ operator()() [2/2]

template<typename _Tp>
template<typename _Up>
enable_if< is_convertible< _Up(*)[], _Tp(*)[]>::value >::type std::default_delete< _Tp[]>::operator() ( _Up * __ptr) const
inlineconstexpr

Calls delete[] __ptr

Definition at line 130 of file unique_ptr.h.


The documentation for this struct was generated from the following file: