#include <di/vocab/pointer/box.h>
|
| Box ()=default |
|
constexpr | Box (nullptr_t) |
|
constexpr | Box (T *pointer) |
|
| Box (Box const &)=delete |
|
constexpr | Box (Box &&other) |
|
constexpr | Box (T *pointer, Deleter const &deleter) |
|
template<concepts::MoveConstructible D = Deleter>
requires (!concepts::LValueReference<Deleter>) |
constexpr | Box (T *pointer, D &&deleter) |
|
template<typename D = Deleter>
requires (concepts::LValueReference<Deleter>) |
| Box (T *, meta::RemoveReference< D > &&)=delete |
|
template<typename U, typename E>
requires (concepts::ImplicitlyConvertibleTo<U*, T*> && !concepts::LanguageArray<U> && ((concepts::Reference<Deleter> && concepts::SameAs<E, Deleter>) || (!concepts::Reference<Deleter> && concepts::ImplicitlyConvertibleTo<E, Deleter>) )) |
constexpr | Box (Box< U, E > &&other) |
|
constexpr | ~Box () |
|
auto | operator= (Box const &) -> Box &=delete |
|
constexpr auto | operator= (Box &&other) -> Box &requires(concepts::MoveAssignable< Deleter >) |
|
template<typename U, typename E>
requires (concepts::ImplicitlyConvertibleTo<U*, T*> && !concepts::LanguageArray<U> && concepts::AssignableFrom<Deleter&, E &&>) |
constexpr auto | operator= (Box< U, E > &&other) -> Box & |
|
constexpr auto | operator= (nullptr_t) -> Box & |
|
constexpr auto | release () -> T * |
|
constexpr void | reset (T *pointer=nullptr) |
|
constexpr auto | get () const -> T * |
|
constexpr auto | get_deleter () -> Deleter & |
|
constexpr auto | get_deleter () const -> Deleter const & |
|
constexpr | operator bool () const |
|
constexpr auto | operator* () const -> T & |
|
constexpr auto | operator-> () const -> T * |
|
◆ Box() [1/9]
template<typename T, typename Deleter = DefaultDelete<T>>
◆ Box() [2/9]
template<typename T, typename Deleter = DefaultDelete<T>>
◆ Box() [3/9]
template<typename T, typename Deleter = DefaultDelete<T>>
◆ Box() [4/9]
template<typename T, typename Deleter = DefaultDelete<T>>
◆ Box() [5/9]
template<typename T, typename Deleter = DefaultDelete<T>>
◆ Box() [6/9]
template<typename T, typename Deleter = DefaultDelete<T>>
◆ Box() [7/9]
template<typename T, typename Deleter = DefaultDelete<T>>
template<concepts::MoveConstructible D = Deleter>
requires (!concepts::LValueReference<Deleter>)
◆ Box() [8/9]
template<typename T, typename Deleter = DefaultDelete<T>>
template<typename D = Deleter>
requires (concepts::LValueReference<Deleter>)
◆ Box() [9/9]
template<typename T, typename Deleter = DefaultDelete<T>>
template<typename U, typename E>
requires (concepts::ImplicitlyConvertibleTo<U*, T*> && !concepts::LanguageArray<U> && ((concepts::Reference<Deleter> && concepts::SameAs<E, Deleter>) || (!concepts::Reference<Deleter> && concepts::ImplicitlyConvertibleTo<E, Deleter>) ))
◆ ~Box()
template<typename T, typename Deleter = DefaultDelete<T>>
◆ get()
template<typename T, typename Deleter = DefaultDelete<T>>
◆ get_deleter() [1/2]
template<typename T, typename Deleter = DefaultDelete<T>>
◆ get_deleter() [2/2]
template<typename T, typename Deleter = DefaultDelete<T>>
auto di::vocab::Box< T, Deleter >::get_deleter |
( |
| ) |
const -> Deleter const& |
|
inlineconstexpr |
◆ operator bool()
template<typename T, typename Deleter = DefaultDelete<T>>
◆ operator*()
template<typename T, typename Deleter = DefaultDelete<T>>
◆ operator->()
template<typename T, typename Deleter = DefaultDelete<T>>
◆ operator=() [1/4]
template<typename T, typename Deleter = DefaultDelete<T>>
auto di::vocab::Box< T, Deleter >::operator= |
( |
Box< T, Deleter > && | other | ) |
-> Box& requires(concepts::MoveAssignable<Deleter>) |
|
inlineconstexpr |
◆ operator=() [2/4]
template<typename T, typename Deleter = DefaultDelete<T>>
◆ operator=() [3/4]
template<typename T, typename Deleter = DefaultDelete<T>>
template<typename U, typename E>
requires (concepts::ImplicitlyConvertibleTo<U*, T*> && !concepts::LanguageArray<U> && concepts::AssignableFrom<Deleter&, E &&>)
◆ operator=() [4/4]
template<typename T, typename Deleter = DefaultDelete<T>>
◆ release()
template<typename T, typename Deleter = DefaultDelete<T>>
◆ reset()
template<typename T, typename Deleter = DefaultDelete<T>>
◆ operator<=> [1/2]
template<typename T, typename Deleter = DefaultDelete<T>>
template<typename U>
friend auto operator<=> |
( |
Box< T, Deleter > const & | a, |
|
|
Box< U > const & | b ) |
|
friend |
◆ operator<=> [2/2]
template<typename T, typename Deleter = DefaultDelete<T>>
friend auto operator<=> |
( |
Box< T, Deleter > const & | a, |
|
|
nullptr_t | ) |
|
friend |
◆ operator== [1/2]
template<typename T, typename Deleter = DefaultDelete<T>>
template<typename U>
friend auto operator== |
( |
Box< T, Deleter > const & | a, |
|
|
Box< U > const & | b ) -> bool |
|
friend |
◆ operator== [2/2]
template<typename T, typename Deleter = DefaultDelete<T>>
friend auto operator== |
( |
Box< T, Deleter > const & | a, |
|
|
nullptr_t | ) -> bool |
|
friend |
The documentation for this class was generated from the following file:
- libs/di/include/di/vocab/pointer/box.h