# Loki::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel, MutexPolicy > Class Template Reference
[Singleton]

`#include <Singleton.h>`

List of all members.

## Public Types

typedef T | ObjectType
| Type of the singleton object.

## Static Public Member Functions

static T & | Instance ()
| Returns a reference to singleton object.

## Detailed Description

### template<typename T, template< class > class CreationPolicy = CreateUsingNew, template< class > class LifetimePolicy = DefaultLifetime, template< class, class > class ThreadingModel = ::Loki::SingleThreaded, class MutexPolicy = ::Loki::Mutex>
class Loki::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel, MutexPolicy >

Provides Singleton amenities for a type T To protect that type from spurious instantiations, you have to protect it yourself.

Parameters:

  | CreationPolicy | Creation policy, default: CreateUsingNew
  | LifetimePolicy | Lifetime policy, default: DefaultLifetime,
  | ThreadingModel | Threading policy, default: LOKI_DEFAULT_THREADING_NO_OBJ_LEVEL

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

- Singleton.h