nngn
Loading...
Searching...
No Matches
nngn::scoped< T, F, Args > Class Template Reference

#include <scoped.h>

Inheritance diagram for nngn::scoped< T, F, Args >:
Collaboration diagram for nngn::scoped< T, F, Args >:

Public Member Functions

 scoped (const scoped &)=delete
 
scopedoperator= (const scoped &)=delete
 
 scoped (scoped &&) noexcept=default
 
scopedoperator= (scoped &&) noexcept=default
 
 scoped (void)=default
 
 scoped (T t, Args ...a)
 
 scoped (F f, Args ...a)
 
 scoped (T t, F f, Args ...a)
 
 ~scoped (void)
 
constexpr const Toperator* () const
 
constexpr Toperator* ()
 
constexpr const Toperator-> () const
 
constexpr Toperator-> ()
 
constexpr const Tget () const
 
constexpr Tget ()
 
 scoped (const scoped &)=delete
 
scopedoperator= (const scoped &)=delete
 
 scoped (scoped &&) noexcept=default
 
scopedoperator= (scoped &&) noexcept=default
 
 scoped (void)=default
 
 scoped (T t, Args ...a)
 
 scoped (F f, Args ...a)
 
 scoped (T t, F f, Args ...a)
 
 ~scoped (void)
 
constexpr const Toperator* () const
 
constexpr Toperator* ()
 
constexpr const Toperator-> () const
 
constexpr Toperator-> ()
 
constexpr const Tget () const
 
constexpr Tget ()
 

Private Types

using Base = detail::scoped_base< T, F, Args... >
 
using Base = detail::scoped_base< T, F, Args... >
 

Member Typedef Documentation

◆ Base [1/2]

template<typename T , typename F , typename ... Args>
using nngn::scoped< T, F, Args >::Base = detail::scoped_base<T, F, Args...>
private

◆ Base [2/2]

template<typename T , typename F , typename ... Args>
using nngn::scoped< T, F, Args >::Base = detail::scoped_base<T, F, Args...>
private

Constructor & Destructor Documentation

◆ scoped() [1/12]

template<typename T , typename F , typename ... Args>
nngn::scoped< T, F, Args >::scoped ( const scoped< T, F, Args > &  )
delete

◆ scoped() [2/12]

template<typename T , typename F , typename ... Args>
nngn::scoped< T, F, Args >::scoped ( scoped< T, F, Args > &&  )
defaultnoexcept

◆ scoped() [3/12]

template<typename T , typename F , typename ... Args>
nngn::scoped< T, F, Args >::scoped ( void  )
default

◆ scoped() [4/12]

template<typename T , typename F , typename ... Args>
nngn::scoped< T, F, Args >::scoped ( T  t,
Args ...  a 
)
inlineexplicit

◆ scoped() [5/12]

template<typename T , typename F , typename ... Args>
nngn::scoped< T, F, Args >::scoped ( F  f,
Args ...  a 
)
inlineexplicit

◆ scoped() [6/12]

template<typename T , typename F , typename ... Args>
nngn::scoped< T, F, Args >::scoped ( T  t,
F  f,
Args ...  a 
)
inline

◆ ~scoped() [1/2]

template<typename T , typename F , typename ... Args>
nngn::scoped< T, F, Args >::~scoped ( void  )
inline

◆ scoped() [7/12]

template<typename T , typename F , typename ... Args>
nngn::scoped< T, F, Args >::scoped ( const scoped< T, F, Args > &  )
delete

◆ scoped() [8/12]

template<typename T , typename F , typename ... Args>
nngn::scoped< T, F, Args >::scoped ( scoped< T, F, Args > &&  )
defaultnoexcept

◆ scoped() [9/12]

template<typename T , typename F , typename ... Args>
nngn::scoped< T, F, Args >::scoped ( void  )
default

◆ scoped() [10/12]

template<typename T , typename F , typename ... Args>
nngn::scoped< T, F, Args >::scoped ( T  t,
Args ...  a 
)
inlineexplicit

◆ scoped() [11/12]

template<typename T , typename F , typename ... Args>
nngn::scoped< T, F, Args >::scoped ( F  f,
Args ...  a 
)
inlineexplicit

◆ scoped() [12/12]

template<typename T , typename F , typename ... Args>
nngn::scoped< T, F, Args >::scoped ( T  t,
F  f,
Args ...  a 
)
inline

◆ ~scoped() [2/2]

template<typename T , typename F , typename ... Args>
nngn::scoped< T, F, Args >::~scoped ( void  )
inline

Member Function Documentation

◆ get() [1/4]

template<typename T , typename F , typename ... Args>
constexpr T * nngn::scoped< T, F, Args >::get ( )
inlineconstexpr

◆ get() [2/4]

template<typename T , typename F , typename ... Args>
constexpr T * nngn::scoped< T, F, Args >::get ( )
inlineconstexpr

◆ get() [3/4]

template<typename T , typename F , typename ... Args>
constexpr const T * nngn::scoped< T, F, Args >::get ( ) const
inlineconstexpr

◆ get() [4/4]

template<typename T , typename F , typename ... Args>
constexpr const T * nngn::scoped< T, F, Args >::get ( ) const
inlineconstexpr

◆ operator*() [1/4]

template<typename T , typename F , typename ... Args>
constexpr T & nngn::scoped< T, F, Args >::operator* ( )
inlineconstexpr

◆ operator*() [2/4]

template<typename T , typename F , typename ... Args>
constexpr T & nngn::scoped< T, F, Args >::operator* ( )
inlineconstexpr

◆ operator*() [3/4]

template<typename T , typename F , typename ... Args>
constexpr const T & nngn::scoped< T, F, Args >::operator* ( ) const
inlineconstexpr

◆ operator*() [4/4]

template<typename T , typename F , typename ... Args>
constexpr const T & nngn::scoped< T, F, Args >::operator* ( ) const
inlineconstexpr

◆ operator->() [1/4]

template<typename T , typename F , typename ... Args>
constexpr T * nngn::scoped< T, F, Args >::operator-> ( )
inlineconstexpr

◆ operator->() [2/4]

template<typename T , typename F , typename ... Args>
constexpr T * nngn::scoped< T, F, Args >::operator-> ( )
inlineconstexpr

◆ operator->() [3/4]

template<typename T , typename F , typename ... Args>
constexpr const T * nngn::scoped< T, F, Args >::operator-> ( ) const
inlineconstexpr

◆ operator->() [4/4]

template<typename T , typename F , typename ... Args>
constexpr const T * nngn::scoped< T, F, Args >::operator-> ( ) const
inlineconstexpr

◆ operator=() [1/4]

template<typename T , typename F , typename ... Args>
scoped & nngn::scoped< T, F, Args >::operator= ( const scoped< T, F, Args > &  )
delete

◆ operator=() [2/4]

template<typename T , typename F , typename ... Args>
scoped & nngn::scoped< T, F, Args >::operator= ( const scoped< T, F, Args > &  )
delete

◆ operator=() [3/4]

template<typename T , typename F , typename ... Args>
scoped & nngn::scoped< T, F, Args >::operator= ( scoped< T, F, Args > &&  )
defaultnoexcept

◆ operator=() [4/4]

template<typename T , typename F , typename ... Args>
scoped & nngn::scoped< T, F, Args >::operator= ( scoped< T, F, Args > &&  )
defaultnoexcept

The documentation for this class was generated from the following files: