template class ugcs::vsm::Singleton¶
Overview¶
Helper class for implementing singletons. More…
#include <singleton.h> template <class T> class Singleton { public: // construction Singleton(const Singleton&); Singleton(); // methods template <typename... Args> std::shared_ptr<T> Get_instance(Args&&... args); };
Detailed Documentation¶
Helper class for implementing singletons.
Parameters:
T |
type for instantiated class. |
Construction¶
Singleton(const Singleton&)
Disable copying.
Methods¶
template <typename... Args> std::shared_ptr<T> Get_instance(Args&&... args)
Get singleton instance.
The same instance is returned until the last reference is released. In case the target class does not have default constructor and the constructor arguments are not provided, the new instance is not created - nullptr is returned if it was not previously created.
Parameters:
args |
Arguments to constructor if any. |
Returns:
Global singleton instance.