NSVD Reader  0.0.1
nodamushi::box< T, D > Struct Template Reference

#include <box.hpp>

Public Member Functions

T * get () noexcept
 
const T * get () const noexcept
 
std::add_lvalue_reference< typename std::add_const< T >::type >::type operator * () const
 
std::add_lvalue_reference< T >::type operator * ()
 
const T * operator-> () const noexcept
 
T * operator-> () noexcept
 
constexpr box () noexcept
 
 box (T *p) noexcept
 
 box (T *p, const D &d1) noexcept
 
 box (T *p, D &&d2) noexcept
 
 box (std::unique_ptr< T, D > &&u) noexcept
 
 box (box< T, D > &&u) noexcept
 
constexpr box (std::nullptr_t n) noexcept
 
 box (const box &)=delete
 
boxoperator= (box &&u) noexcept
 
template<class U , class E >
boxoperator= (box< U, E > &&u) noexcept
 
boxoperator= (std::nullptr_t p) noexcept
 
boxoperator= (const box &)=delete
 
T * release () noexcept
 
void reset (T *p=nullptr) noexcept
 
template<class U >
void reset (U)=delete
 
template<typename T2 , typename D2 >
void swap (std::unique_ptr< T2, D2 > &x) noexcept
 
template<typename T2 , typename D2 >
void swap (box< T2, D2 > &x) noexcept
 
D & get_deleter () noexcept
 
const D & get_deleter () const noexcept
 
 operator bool () const noexcept
 

Detailed Description

template<typename T, typename D = std::default_delete<T>>
struct nodamushi::box< T, D >

unique_ptr wrapper. get()const and operator*()const function return const T

Definition at line 21 of file box.hpp.

Constructor & Destructor Documentation

◆ box() [1/8]

template<typename T, typename D = std::default_delete<T>>
constexpr nodamushi::box< T, D >::box ( )
inlinenoexcept

Definition at line 32 of file box.hpp.

◆ box() [2/8]

template<typename T, typename D = std::default_delete<T>>
nodamushi::box< T, D >::box ( T *  p)
inlineexplicitnoexcept

Definition at line 34 of file box.hpp.

◆ box() [3/8]

template<typename T, typename D = std::default_delete<T>>
nodamushi::box< T, D >::box ( T *  p,
const D &  d1 
)
inlinenoexcept

Definition at line 36 of file box.hpp.

◆ box() [4/8]

template<typename T, typename D = std::default_delete<T>>
nodamushi::box< T, D >::box ( T *  p,
D &&  d2 
)
inlinenoexcept

Definition at line 38 of file box.hpp.

◆ box() [5/8]

template<typename T, typename D = std::default_delete<T>>
nodamushi::box< T, D >::box ( std::unique_ptr< T, D > &&  u)
inlinenoexcept

Definition at line 40 of file box.hpp.

◆ box() [6/8]

template<typename T, typename D = std::default_delete<T>>
nodamushi::box< T, D >::box ( box< T, D > &&  u)
inlinenoexcept

Definition at line 42 of file box.hpp.

◆ box() [7/8]

template<typename T, typename D = std::default_delete<T>>
constexpr nodamushi::box< T, D >::box ( std::nullptr_t  n)
inlinenoexcept

Definition at line 45 of file box.hpp.

◆ box() [8/8]

template<typename T, typename D = std::default_delete<T>>
nodamushi::box< T, D >::box ( const box< T, D > &  )
delete

Member Function Documentation

◆ get() [1/2]

template<typename T, typename D = std::default_delete<T>>
T* nodamushi::box< T, D >::get ( )
inlinenoexcept

Definition at line 23 of file box.hpp.

◆ get() [2/2]

template<typename T, typename D = std::default_delete<T>>
const T* nodamushi::box< T, D >::get ( ) const
inlinenoexcept

Definition at line 24 of file box.hpp.

◆ get_deleter() [1/2]

template<typename T, typename D = std::default_delete<T>>
D& nodamushi::box< T, D >::get_deleter ( )
inlinenoexcept

Definition at line 73 of file box.hpp.

◆ get_deleter() [2/2]

template<typename T, typename D = std::default_delete<T>>
const D& nodamushi::box< T, D >::get_deleter ( ) const
inlinenoexcept

Definition at line 74 of file box.hpp.

◆ operator *() [1/2]

template<typename T, typename D = std::default_delete<T>>
std::add_lvalue_reference<typename std::add_const<T>::type>::type nodamushi::box< T, D >::operator * ( ) const
inline

Definition at line 26 of file box.hpp.

◆ operator *() [2/2]

template<typename T, typename D = std::default_delete<T>>
std::add_lvalue_reference<T>::type nodamushi::box< T, D >::operator * ( )
inline

Definition at line 27 of file box.hpp.

◆ operator bool()

template<typename T, typename D = std::default_delete<T>>
nodamushi::box< T, D >::operator bool ( ) const
inlineexplicitnoexcept

Definition at line 75 of file box.hpp.

◆ operator->() [1/2]

template<typename T, typename D = std::default_delete<T>>
const T* nodamushi::box< T, D >::operator-> ( ) const
inlinenoexcept

Definition at line 29 of file box.hpp.

◆ operator->() [2/2]

template<typename T, typename D = std::default_delete<T>>
T* nodamushi::box< T, D >::operator-> ( )
inlinenoexcept

Definition at line 30 of file box.hpp.

◆ operator=() [1/4]

template<typename T, typename D = std::default_delete<T>>
box& nodamushi::box< T, D >::operator= ( box< T, D > &&  u)
inlinenoexcept

Definition at line 49 of file box.hpp.

◆ operator=() [2/4]

template<typename T, typename D = std::default_delete<T>>
template<class U , class E >
box& nodamushi::box< T, D >::operator= ( box< U, E > &&  u)
inlinenoexcept

Definition at line 54 of file box.hpp.

◆ operator=() [3/4]

template<typename T, typename D = std::default_delete<T>>
box& nodamushi::box< T, D >::operator= ( std::nullptr_t  p)
inlinenoexcept

Definition at line 58 of file box.hpp.

◆ operator=() [4/4]

template<typename T, typename D = std::default_delete<T>>
box& nodamushi::box< T, D >::operator= ( const box< T, D > &  )
delete

◆ release()

template<typename T, typename D = std::default_delete<T>>
T* nodamushi::box< T, D >::release ( )
inlinenoexcept

Definition at line 64 of file box.hpp.

◆ reset() [1/2]

template<typename T, typename D = std::default_delete<T>>
void nodamushi::box< T, D >::reset ( T *  p = nullptr)
inlinenoexcept

Definition at line 65 of file box.hpp.

◆ reset() [2/2]

template<typename T, typename D = std::default_delete<T>>
template<class U >
void nodamushi::box< T, D >::reset ( )
delete

◆ swap() [1/2]

template<typename T, typename D = std::default_delete<T>>
template<typename T2 , typename D2 >
void nodamushi::box< T, D >::swap ( std::unique_ptr< T2, D2 > &  x)
inlinenoexcept

Definition at line 68 of file box.hpp.

◆ swap() [2/2]

template<typename T, typename D = std::default_delete<T>>
template<typename T2 , typename D2 >
void nodamushi::box< T, D >::swap ( box< T2, D2 > &  x)
inlinenoexcept

Definition at line 70 of file box.hpp.


The documentation for this struct was generated from the following file: