QDP++
qdp_singleton.h File Reference

Singleton support. More...

#include <algorithm>
#include <stdexcept>
#include <cassert>
#include <cstdlib>
#include <new>

Go to the source code of this file.

Classes

class  QDP::SingleThreaded< Host >
struct  QDP::SingleThreaded< Host >::Lock
class  QDP::Private::LifetimeTracker
struct  QDP::Private::Deleter< T >
class  QDP::Private::ConcreteLifetimeTracker< T, Destroyer >
struct  QDP::CreateUsingNew< T >
struct  QDP::CreateUsingMalloc< T >
struct  QDP::CreateStatic< T >
union  QDP::CreateStatic< T >::MaxAlign
struct  QDP::DefaultLifetime< T >
class  QDP::PhoenixSingleton< T >
struct  QDP::Private::Adapter< T >
class  QDP::SingletonWithLongevity< T >
struct  QDP::NoDestroy< T >
class  QDP::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >

Namespaces

namespace  QDP
 Yet another random number generator.
namespace  QDP::Private

Typedefs

typedef LifetimeTracker ** QDP::Private::TrackerArray

Functions

void QDP::Private::AtExitFn ()
template<typename T, typename Destroyer>
void QDP::SetLongevity (T *pDynObject, unsigned int longevity, Destroyer d=Private::Deleter< T >::Delete)

Variables

TrackerArray QDP::Private::pTrackerArray
unsigned int QDP::Private::elements
template<class T>
bool QDP::PhoenixSingleton< T >::destroyedOnce_ = false
template<class T, template< class > class C, template< class > class L, template< class > class M>
SingletonHolder< T, C, L, M >::PtrInstanceType QDP::SingletonHolder< T, C, L, M >::pInstance_ =0
template<class T, template< class > class C, template< class > class L, template< class > class M>
bool QDP::SingletonHolder< T, C, L, M >::destroyed_ =false

Detailed Description

Singleton support.

Definition in file qdp_singleton.h.