6#ifndef LIMA_MISC_SINGLETON_H
7#define LIMA_MISC_SINGLETON_H
20template<
typename Object>
44 static std::unique_ptr< Object > s_instance;
47template<
typename Object>
50template<
typename Object>
53 if (s_instance ==
nullptr)
55 s_instance=std::unique_ptr< Object >(
new Object());
60template<
typename Object>
63 if (s_instance==
nullptr)
65 s_instance=std::unique_ptr< Object >(
new Object());
67 return s_instance.get();
70template<
typename Object>
73 if (s_instance==
nullptr)
75 s_instance=std::unique_ptr< Object >(
new Object());
80template<
typename Object>
83 if (s_instance==
nullptr)
85 s_instance=std::unique_ptr< Object >(
new Object());
87 return s_instance.get();
Defines access method for the singleton pattern.
static Object * pchangeable()
virtual ~Singleton()=default
static const Object & single()
const singleton accessor
static Object & changeable()
singleton accessor
static const Object * psingle()