spimpl namespace

Namespaces

namespace details

Classes

template<class T, class Deleter = details::default_deleter_t<T>, class Copier = details::default_copier_t<T>>
class impl_ptr

Typedefs

template<class T, class Deleter = void (*)(T*)>
using unique_impl_ptr = std::unique_ptr<T, Deleter>

Functions

template<class T, class D, class C>
void swap(impl_ptr<T, D, C>& l, impl_ptr<T, D, C>& r) noexcept
template<class T1, class D1, class C1, class T2, class D2, class C2>
auto operator==(const impl_ptr<T1, D1, C1>& l, const impl_ptr<T2, D2, C2>& r) -> bool
template<class T1, class D1, class C1, class T2, class D2, class C2>
auto operator!=(const impl_ptr<T1, D1, C1>& l, const impl_ptr<T2, D2, C2>& r) -> bool
template<class T1, class D1, class C1, class T2, class D2, class C2>
auto operator<(const impl_ptr<T1, D1, C1>& l, const impl_ptr<T2, D2, C2>& r) -> bool
template<class T1, class D1, class C1, class T2, class D2, class C2>
auto operator>(const impl_ptr<T1, D1, C1>& l, const impl_ptr<T2, D2, C2>& r) -> bool
template<class T1, class D1, class C1, class T2, class D2, class C2>
auto operator<=(const impl_ptr<T1, D1, C1>& l, const impl_ptr<T2, D2, C2>& r) -> bool
template<class T1, class D1, class C1, class T2, class D2, class C2>
auto operator>=(const impl_ptr<T1, D1, C1>& l, const impl_ptr<T2, D2, C2>& r) -> bool
template<class T, class D, class C>
auto operator==(const impl_ptr<T, D, C>& p, std::nullptr_t) -> bool noexcept
template<class T, class D, class C>
auto operator==(std::nullptr_t, const impl_ptr<T, D, C>& p) -> bool noexcept
template<class T, class D, class C>
auto operator!=(const impl_ptr<T, D, C>& p, std::nullptr_t) -> bool noexcept
template<class T, class D, class C>
auto operator!=(std::nullptr_t, const impl_ptr<T, D, C>& p) -> bool noexcept
template<class T, class D, class C>
auto operator<(const impl_ptr<T, D, C>& l, std::nullptr_t) -> bool
template<class T, class D, class C>
auto operator<(std::nullptr_t, const impl_ptr<T, D, C>& p) -> bool
template<class T, class D, class C>
auto operator>(const impl_ptr<T, D, C>& p, std::nullptr_t) -> bool
template<class T, class D, class C>
auto operator>(std::nullptr_t, const impl_ptr<T, D, C>& p) -> bool
template<class T, class D, class C>
auto operator<=(const impl_ptr<T, D, C>& p, std::nullptr_t) -> bool
template<class T, class D, class C>
auto operator<=(std::nullptr_t, const impl_ptr<T, D, C>& p) -> bool
template<class T, class D, class C>
auto operator>=(const impl_ptr<T, D, C>& p, std::nullptr_t) -> bool
template<class T, class D, class C>
auto operator>=(std::nullptr_t, const impl_ptr<T, D, C>& p) -> bool
template<class T, class... Args>
auto make_impl(Args && ... args) -> impl_ptr<T>
template<class T, class... Args>
auto make_unique_impl(Args && ... args) -> unique_impl_ptr<T>