DNA Calib 1.1
Project brief
|
Takes ownership over the given pointer and handles it's lifetime. More...
#include <ScopedPtr.h>
Classes | |
struct | inspect |
struct | inspect< U[]> |
Public Types | |
using | pointer = typename inspect< T >::pointer_type |
using | element_type = typename inspect< T >::element_type |
using | destroyer_type = TDestroyer |
Public Member Functions | |
ScopedPtr () | |
ScopedPtr (pointer ptr_) | |
ScopedPtr (pointer ptr_, destroyer_type &&destroyer) | |
~ScopedPtr () | |
ScopedPtr (std::nullptr_t) | |
ScopedPtr & | operator= (std::nullptr_t) |
ScopedPtr (const ScopedPtr &)=delete | |
ScopedPtr & | operator= (const ScopedPtr &)=delete |
ScopedPtr (ScopedPtr &&rhs) noexcept | |
ScopedPtr & | operator= (ScopedPtr &&rhs) noexcept |
template<typename U , class UDestroyer > | |
ScopedPtr (ScopedPtr< U, UDestroyer > &&rhs) noexcept | |
template<typename U , class UDestroyer > | |
ScopedPtr & | operator= (ScopedPtr< U, UDestroyer > &&rhs) noexcept |
template<typename U = T, typename IA = typename inspect<U>::is_array> | |
std::enable_if< IA::value, element_type & >::type | operator[] (std::size_t index) const noexcept |
template<typename U = T, typename IA = typename inspect<U>::is_array> | |
std::enable_if<!IA::value, element_type & >::type | operator* () const noexcept |
pointer | operator-> () const noexcept |
operator bool () const noexcept | |
pointer | get () const noexcept |
pointer | release () noexcept |
void | reset (pointer rhs=pointer()) noexcept |
void | swap (ScopedPtr &rhs) noexcept |
Private Attributes | |
pointer | ptr |
Friends | |
template<typename U , class UDestroyer > | |
class | ScopedPtr |
Takes ownership over the given pointer and handles it's lifetime.
using pma::ScopedPtr< T, TDestroyer >::destroyer_type = TDestroyer |
using pma::ScopedPtr< T, TDestroyer >::element_type = typename inspect<T>::element_type |
using pma::ScopedPtr< T, TDestroyer >::pointer = typename inspect<T>::pointer_type |
|
inline |
|
inlineexplicit |
|
inline |
|
inline |
References pma::ScopedPtr< T, TDestroyer >::ptr.
|
inline |
|
delete |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
References pma::ScopedPtr< T, TDestroyer >::ptr.
|
inlinenoexcept |
References pma::ScopedPtr< T, TDestroyer >::ptr.
|
inlinenoexcept |
References pma::ScopedPtr< T, TDestroyer >::ptr.
|
inlinenoexcept |
References pma::ScopedPtr< T, TDestroyer >::ptr.
|
delete |
|
inlinenoexcept |
References pma::ScopedPtr< T, TDestroyer >::swap().
|
inlinenoexcept |
References pma::ScopedPtr< T, TDestroyer >::release().
|
inline |
References pma::ScopedPtr< T, TDestroyer >::reset().
|
inlinenoexcept |
References pma::ScopedPtr< T, TDestroyer >::ptr.
|
inlinenoexcept |
References pma::ScopedPtr< T, TDestroyer >::ptr.
Referenced by pma::ScopedPtr< T, TDestroyer >::operator=(), and pma::ScopedPtr< T, TDestroyer >::reset().
|
inlinenoexcept |
References pma::ScopedPtr< T, TDestroyer >::ptr, and pma::ScopedPtr< T, TDestroyer >::release().
Referenced by pma::ScopedPtr< T, TDestroyer >::operator=().
|
inlinenoexcept |
References pma::ScopedPtr< T, TDestroyer >::ptr.
Referenced by pma::ScopedPtr< T, TDestroyer >::operator=().
|
friend |
|
private |
Referenced by pma::ScopedPtr< T, TDestroyer >::get(), pma::ScopedPtr< T, TDestroyer >::operator bool(), pma::ScopedPtr< T, TDestroyer >::operator*(), pma::ScopedPtr< T, TDestroyer >::operator->(), pma::ScopedPtr< T, TDestroyer >::operator[](), pma::ScopedPtr< T, TDestroyer >::release(), pma::ScopedPtr< T, TDestroyer >::reset(), pma::ScopedPtr< T, TDestroyer >::swap(), and pma::ScopedPtr< T, TDestroyer >::~ScopedPtr().