Template Class impl_ptr
Defined in File impl_ptr.hpp
Inheritance Relationships
Base Type
public rmf_utils::unique_impl_ptr< T, details::default_deleter_t< T > >
(Template Class unique_impl_ptr)
Class Documentation
-
template<class T, class Deleter = details::default_deleter_t<T>, class Copier = details::default_copier_t<T>>
class impl_ptr : public rmf_utils::unique_impl_ptr<T, details::default_deleter_t<T>> Public Types
-
using pointer = typename base_type::pointer
-
using const_pointer = typename base_type::const_pointer
-
using reference = typename base_type::reference
-
using const_reference = typename base_type::const_reference
-
using element_type = typename base_type::element_type
-
using deleter_type = typename base_type::deleter_type
-
using unique_ptr_type = typename base_type::unique_ptr_type
-
using is_default_manageable = details::is_default_manageable<T, deleter_type, copier_type>
Public Functions
-
inline constexpr impl_ptr() noexcept
-
inline constexpr impl_ptr(std::nullptr_t) noexcept
-
template<class D, class C>
inline impl_ptr(pointer p, D &&d, C &&c, typename std::enable_if<std::is_convertible<D, deleter_type>::value && std::is_convertible<C, copier_type>::value, typename base_type::dummy_t_>::type = typename base_type::dummy_t_()) noexcept
-
template<class U>
inline impl_ptr(U *u, typename std::enable_if<std::is_convertible<U*, pointer>::value && is_default_manageable::value, dummy_t_>::type = dummy_t_()) noexcept
-
template<class U>
inline 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_()) noexcept
-
template<class U, class D, class C>
inline impl_ptr(std::unique_ptr<U, D> &&u, C &&c, typename std::enable_if<std::is_convertible<U*, pointer>::value && std::is_convertible<D, deleter_type>::value, dummy_t_>::type = dummy_t_()) noexcept
-
template<class U, class D, class C>
inline impl_ptr(impl_ptr<U, D, C> &&u, typename std::enable_if<std::is_convertible<U*, pointer>::value && std::is_convertible<D, deleter_type>::value, dummy_t_>::type = dummy_t_()) noexcept
-
template<class U, class D, class C>
inline std::enable_if<std::is_convertible<U*, pointer>::value && std::is_convertible<D, deleter_type>::value && std::is_convertible<C, copier_type>::value, impl_ptr&>::type operator=(const impl_ptr<U, D, C> &u)
-
template<class U>
inline std::enable_if<std::is_convertible<U*, pointer>::value && is_default_manageable::value, impl_ptr&>::type operator=(std::unique_ptr<U> &&u) noexcept
-
template<class U, class D, class C>
inline std::enable_if<std::is_convertible<U*, pointer>::value && std::is_convertible<D, deleter_type>::value && std::is_convertible<C, copier_type>::value, impl_ptr&>::type operator=(impl_ptr<U, D, C> &&u) noexcept
-
inline const std::remove_reference<copier_type>::type &get_copier() const noexcept
-
inline std::remove_reference<copier_type>::type &get_copier() noexcept
-
using pointer = typename base_type::pointer