dune-common  2.5.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Static Public Member Functions | Protected Member Functions | List of all members
Dune::Singleton< T > Class Template Reference

An adapter to turn a class into a singleton. More...

#include <dune/common/singleton.hh>

Static Public Member Functions

static DUNE_EXPORT T & instance ()
 Get the instance of the singleton. More...
 

Protected Member Functions

 Singleton ()
 
 Singleton (const Singleton &)
 Private copy constructor. More...
 
Singletonoperator= (const Singleton &)
 Private assignment operator. More...
 

Detailed Description

template<class T>
class Dune::Singleton< T >

An adapter to turn a class into a singleton.

The class represented by the template parameter T must have a parameterless constructor.

Class T can be publicly derived from Singleton<T>:

* #include<dune/common/singleton.hh>
* class Foo : public Dune::Singleton<Foo>
* {
* public:
* Foo()
* {
* bytes = new char[1000];
* }
*
* ~Foo()
* {
* delete[] bytes;
* }
* private:
* char* bytes;
* };
*

Or one can construct a Singleton of an existing class. Say Foo1 is a class with parameterless constructor then

* typedef Dune::Singleton<Foo1> FooSingleton;
* Foo1 instance& = FooSingleton::instance();
*

Creates a singleton of that class and accesses its instance.

Constructor & Destructor Documentation

template<class T >
Dune::Singleton< T >::Singleton ( )
inlineprotected
template<class T >
Dune::Singleton< T >::Singleton ( const Singleton< T > &  )
inlineprotected

Private copy constructor.

Member Function Documentation

template<class T >
static DUNE_EXPORT T& Dune::Singleton< T >::instance ( )
inlinestatic

Get the instance of the singleton.

Returns
The instance of the singleton.
template<class T >
Singleton& Dune::Singleton< T >::operator= ( const Singleton< T > &  )
inlineprotected

Private assignment operator.


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