Template Class unique_impl_ptr
Defined in File spimpl.h
Nested Relationships
Nested Types
Inheritance Relationships
Derived Types
public spimpl::impl_ptr< Impl >(Template Class impl_ptr)public spimpl::impl_ptr< T, Deleter, Copier >(Template Class impl_ptr)
Class Documentation
-
template<class T, class Deleter = details::default_deleter_t<T>>
class unique_impl_ptr Subclassed by spimpl::impl_ptr< Impl >, spimpl::impl_ptr< T, Deleter, Copier >
Public Types
-
using unique_ptr_type = std::unique_ptr<T, deleter_type>
-
using is_default_manageable = details::is_default_manageable<T, deleter_type>
Public Functions
- inline SPIMPL_CONSTEXPR unique_impl_ptr () SPIMPL_NOEXCEPT
- inline SPIMPL_CONSTEXPR unique_impl_ptr (std::nullptr_t) SPIMPL_NOEXCEPT
- template<class D> inline unique_impl_ptr (pointer p, D &&d, typename std::enable_if< std::is_convertible< D, deleter_type >::value, dummy_t_ >::type=dummy_t_()) SPIMPL_NOEXCEPT
- template<class U> inline unique_impl_ptr (U *u, typename std::enable_if< std::is_convertible< U *, pointer >::value &&is_default_manageable::value, dummy_t_ >::type=dummy_t_()) SPIMPL_NOEXCEPT
- unique_impl_ptr (unique_impl_ptr &&r) SPIMPL_NOEXCEPT=default
- template<class U> inline unique_impl_ptr (std::unique_ptr< U > &&u, typename std::enable_if< std::is_convertible< U *, pointer >::value &&is_default_manageable::value, dummy_t_ >::type=dummy_t_()) SPIMPL_NOEXCEPT
- template<class U, class D> inline unique_impl_ptr (std::unique_ptr< U, D > &&u, typename std::enable_if< std::is_convertible< U *, pointer >::value &&std::is_convertible< D, deleter_type >::value, dummy_t_ >::type=dummy_t_()) SPIMPL_NOEXCEPT
- template<class U, class D> inline unique_impl_ptr (unique_impl_ptr< U, D > &&u, typename std::enable_if< std::is_convertible< U *, pointer >::value &&std::is_convertible< D, deleter_type >::value, dummy_t_ >::type=dummy_t_()) SPIMPL_NOEXCEPT
-
unique_impl_ptr(const unique_impl_ptr<T, Deleter>&) = delete
- unique_impl_ptr & operator= (unique_impl_ptr &&r) SPIMPL_NOEXCEPT=default
- template<class U> inline std::enable_if< std::is_convertible< U *, pointer >::value &&is_default_manageable::value, unique_impl_ptr & >::type operator= (std::unique_ptr< U > &&u) SPIMPL_NOEXCEPT
-
reference operator=(const unique_impl_ptr<T, Deleter>&) = delete
-
inline const_reference operator*() const
- inline pointer operator-> () SPIMPL_NOEXCEPT
- inline const_pointer operator-> () const SPIMPL_NOEXCEPT
- inline pointer get () SPIMPL_NOEXCEPT
- inline const_pointer get () const SPIMPL_NOEXCEPT
- inline void swap (unique_impl_ptr &u) SPIMPL_NOEXCEPT
- inline pointer release () SPIMPL_NOEXCEPT
- inline unique_ptr_type release_unique () SPIMPL_NOEXCEPT
- inline explicit operator bool () const SPIMPL_NOEXCEPT
- inline std::remove_reference< deleter_type >::type & get_deleter () SPIMPL_NOEXCEPT
- inline const std::remove_reference< deleter_type >::type & get_deleter () const SPIMPL_NOEXCEPT
Protected Attributes
-
unique_ptr_type ptr_
-
using unique_ptr_type = std::unique_ptr<T, deleter_type>