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 ()
 

Private Types

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

Member Typedef Documentation

◆ Base

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/6]

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

◆ scoped() [2/6]

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

◆ scoped() [3/6]

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

◆ scoped() [4/6]

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

◆ scoped() [5/6]

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

◆ scoped() [6/6]

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

◆ ~scoped()

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

Member Function Documentation

◆ get() [1/2]

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

◆ get() [2/2]

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

◆ operator*() [1/2]

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

◆ operator*() [2/2]

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

◆ operator->() [1/2]

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

◆ operator->() [2/2]

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

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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 file: