DNA Calib 1.1
Project brief
Classes | Namespaces | Functions
ScopedPtr.h File Reference
#include <utility>
Include dependency graph for ScopedPtr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  pma::New< T, B >
 
struct  pma::Delete< T, B >
 
struct  pma::New< T[]>
 
struct  pma::Delete< T[]>
 
struct  pma::FactoryCreate< T, B >
 
struct  pma::FactoryDestroy< T, B >
 
struct  pma::DefaultInstanceCreator< T >
 
struct  pma::DefaultInstanceDestroyer< T >
 
class  pma::ScopedPtr< T, TDestroyer >
 Takes ownership over the given pointer and handles it's lifetime. More...
 
struct  pma::ScopedPtr< T, TDestroyer >::inspect< U >
 
struct  pma::ScopedPtr< T, TDestroyer >::inspect< U[]>
 

Namespaces

namespace  pma
 

Functions

template<class T , class TCreator , class TDestroyer , typename ... Args, typename Base = typename std::remove_pointer < decltype(TCreator{} (std::declval<Args>()...)) > ::type>
ScopedPtr< Base, TDestroyer > pma::makeScoped (Args &&... args)
 Syntactic sugar for creating instances wrapped in a ScopedPtr. More...
 
template<class T , template< class ... > class TCreatorTemplate, template< class ... > class TDestroyerTemplate, typename ... Args>
ScopedPtr< T, TDestroyerTemplate< T > > pma::makeScoped (Args &&... args)
 
template<class T , typename ... Args>
ScopedPtr< T, typename DefaultInstanceDestroyer< T >::type > pma::makeScoped (Args &&... args)