libpsynth 0.2.1
Classes | Namespaces | Typedefs | Functions
/home/raskolnikov/dev/psynth/trunk/src/psynth/base/singleton.hpp File Reference
#include <new>
#include <psynth/base/exception.hpp>
#include <psynth/base/threads.hpp>
#include <psynth/base/singleton.tpp>
Include dependency graph for singleton.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  psynth::base::singleton_holder< T, CreationPolicy, LifetimePolicy, ThreadingPolicy >
 This is a generic singleton implementation. More...
struct  psynth::base::create_with_new< T >
 Creator singleton policy that uses new and delete to allocate and free the singleton. More...
struct  psynth::base::create_with_malloc< T >
 Creator singleton policy that uses std::malloc and std::free to allocate and free the singleton. More...
struct  psynth::base::create_with_static< T >
 Creator policy that creates the singleton in static memory. More...
struct  psynth::base::create_with< Alloc >
 Creator policy that uses a allocator satisfying the std::allocator interface to build an destroy the singleton. More...
struct  psynth::base::create_with< Alloc >::alloc< T >
struct  psynth::base::lifetime_atexit< T >
 Lifetime singleton policy that destroys the singleton in the atexit invocation sequence. More...
struct  psynth::base::lifetime_static_dtor< T >
 Lifetime singleton policy that destroys the singleton on the static destructors invocation sequence. More...
struct  psynth::base::lifetime_static_dtor< T >::scheduler
 Helper object.
class  psynth::base::lifetime_phoenix< T >
 Singleton lifetime policy that re-creates the singleton if it has already been destroyed. More...
struct  psynth::base::lifetime_no_destroy< T >
 Lifetime policy for the singleton class that never destroys the singleton. More...

Namespaces

namespace  psynth
namespace  psynth::base

Typedefs

typedef void(* psynth::base::destroy_func_t )()
 Type of the destroy function to be registered on the lifetime policies.

Functions

 psynth::base::PSYNTH_DECLARE_ERROR (error, singleton_error)
 The error that lifetime policies should throw in case of dead reference access.