libstdc++
std::__allocated_ptr< _Alloc > Struct Template Reference

Public Types

using pointer = typename allocator_traits< _Alloc >::pointer
 
using value_type = typename allocator_traits< _Alloc >::value_type
 

Public Member Functions

 __allocated_ptr (_Alloc &__a, pointer __ptr) noexcept
 
template<typename _Ptr , typename _Req = _Require<is_same<_Ptr, value_type*>>>
 __allocated_ptr (_Alloc &__a, _Ptr __ptr)
 
 __allocated_ptr (__allocated_ptr &&__gd) noexcept
 
 ~__allocated_ptr ()
 
value_type * get ()
 
__allocated_ptroperator= (std::nullptr_t) noexcept
 

Detailed Description

template<typename _Alloc>
struct std::__allocated_ptr< _Alloc >

Non-standard RAII type for managing pointers obtained from allocators.

Definition at line 46 of file allocated_ptr.h.

Constructor & Destructor Documentation

◆ __allocated_ptr() [1/3]

template<typename _Alloc >
std::__allocated_ptr< _Alloc >::__allocated_ptr ( _Alloc &  __a,
pointer  __ptr 
)
inlinenoexcept

Take ownership of __ptr.

Definition at line 52 of file allocated_ptr.h.

◆ __allocated_ptr() [2/3]

template<typename _Alloc >
template<typename _Ptr , typename _Req = _Require<is_same<_Ptr, value_type*>>>
std::__allocated_ptr< _Alloc >::__allocated_ptr ( _Alloc &  __a,
_Ptr  __ptr 
)
inline

Convert __ptr to allocator's pointer type and take ownership of it.

Definition at line 59 of file allocated_ptr.h.

◆ __allocated_ptr() [3/3]

template<typename _Alloc >
std::__allocated_ptr< _Alloc >::__allocated_ptr ( __allocated_ptr< _Alloc > &&  __gd)
inlinenoexcept

Transfer ownership of the owned pointer.

Definition at line 65 of file allocated_ptr.h.

◆ ~__allocated_ptr()

template<typename _Alloc >
std::__allocated_ptr< _Alloc >::~__allocated_ptr ( )
inline

Deallocate the owned pointer.

Definition at line 70 of file allocated_ptr.h.

References std::allocator_traits< _Alloc >::deallocate().

Member Function Documentation

◆ get()

template<typename _Alloc >
value_type* std::__allocated_ptr< _Alloc >::get ( void  )
inline

Get the address that the owned pointer refers to.

Definition at line 85 of file allocated_ptr.h.

◆ operator=()

template<typename _Alloc >
__allocated_ptr& std::__allocated_ptr< _Alloc >::operator= ( std::nullptr_t  )
inlinenoexcept

Release ownership of the owned pointer.

Definition at line 78 of file allocated_ptr.h.


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