CuteHMI - CuteHMI (CuteHMI.2)
cutehmi::MPtr< T, DELETER > Class Template Reference

Members pointer. More...

#include <cutehmi/MPtr.hpp>

Public Types

typedef T element_type
 
typedef T * pointer
 
typedef Parent::deleter_type deleter_type
 
typedef std::add_lvalue_reference< element_type >::type reference
 
typedef std::add_lvalue_reference< typename std::add_const< element_type >::type >::type const_reference
 

Public Member Functions

void swap (MPtr< T, DELETER > &x) noexcept
 
const_pointer get () const noexcept
 
pointer get () noexcept
 
const_pointer operator-> () const noexcept
 
pointer operator-> () noexcept
 
reference operator* ()
 
const_reference operator* () const
 
get_deleter (T... args)
 
release (T... args)
 
reset (T... args)
 

Public Attributes

const typedef T * const_pointer
 

Detailed Description

template<class T, class DELETER>
class cutehmi::MPtr< T, DELETER >

Members pointer.

This class wraps std::unique_ptr and provides opaque interface that forwards const to the member.

Member Typedef Documentation

◆ const_reference

template<class T , class DELETER >
typedef std::add_lvalue_reference<typename std::add_const<element_type>::type>::type cutehmi::MPtr< T, DELETER >::const_reference

◆ deleter_type

template<class T , class DELETER >
typedef Parent::deleter_type cutehmi::MPtr< T, DELETER >::deleter_type

◆ element_type

template<class T , class DELETER >
typedef T cutehmi::MPtr< T, DELETER >::element_type

◆ pointer

template<class T , class DELETER >
typedef T* cutehmi::MPtr< T, DELETER >::pointer

◆ reference

template<class T , class DELETER >
typedef std::add_lvalue_reference<element_type>::type cutehmi::MPtr< T, DELETER >::reference

Member Function Documentation

◆ get() [1/2]

template<class T , class DELETER >
const_pointer cutehmi::MPtr< T, DELETER >::get ( ) const
inlinenoexcept

◆ get() [2/2]

template<class T , class DELETER >
pointer cutehmi::MPtr< T, DELETER >::get ( )
inlinenoexcept

◆ get_deleter()

template<class T , class DELETER >
T std::unique_ptr::get_deleter

◆ operator*() [1/2]

template<class T , class DELETER >
reference cutehmi::MPtr< T, DELETER >::operator* ( )
inline

◆ operator*() [2/2]

template<class T , class DELETER >
const_reference cutehmi::MPtr< T, DELETER >::operator* ( ) const
inline

◆ operator->() [1/2]

template<class T , class DELETER >
const_pointer cutehmi::MPtr< T, DELETER >::operator-> ( ) const
inlinenoexcept

◆ operator->() [2/2]

template<class T , class DELETER >
pointer cutehmi::MPtr< T, DELETER >::operator-> ( )
inlinenoexcept

◆ release()

template<class T , class DELETER >
T std::unique_ptr::release

◆ reset()

template<class T , class DELETER >
T std::unique_ptr::reset

◆ swap()

template<class T , class DELETER >
void cutehmi::MPtr< T, DELETER >::swap ( MPtr< T, DELETER > &  x)
inlinenoexcept

Member Data Documentation

◆ const_pointer

template<class T , class DELETER >
const typedef T* cutehmi::MPtr< T, DELETER >::const_pointer