Dune::Singleton< T > Class Template Reference

#include <singleton.hh>

List of all members.


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 publically 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.


Static Public Member Functions

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

Protected Member Functions

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

Classes

class  InstancePointer
 A simple smart pointer responsible for creation and deletion of the instance. More...

Member Function Documentation

template<class T>
static T& Dune::Singleton< T >::instance (  )  [inline, static]

Get the instance of the singleton.

Returns:
The instance of the singleton.


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

Generated on 12 Dec 2007 with Doxygen (ver 1.5.1)