summaryrefslogtreecommitdiffstats
path: root/include/astra/Singleton.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/astra/Singleton.h')
-rw-r--r--include/astra/Singleton.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/astra/Singleton.h b/include/astra/Singleton.h
index 1ef4bba..784c521 100644
--- a/include/astra/Singleton.h
+++ b/include/astra/Singleton.h
@@ -86,14 +86,14 @@ class Singleton {
// libastra. This situation would cause issues when .mex files are unloaded.
#define DEFINE_SINGLETON(T) \
-template<> void Singleton<T >::construct() { m_singleton = new T(); } \
+template<> void Singleton<T >::construct() { assert(!m_singleton); m_singleton = new T(); } \
template<> T* Singleton<T >::m_singleton = 0
// This is a hack to support statements like
// DEFINE_SINGLETON2(CTemplatedClass<C1, C2>);
#define DEFINE_SINGLETON2(A,B) \
-template<> void Singleton<A,B >::construct() { m_singleton = new A,B(); } \
+template<> void Singleton<A,B >::construct() { assert(!m_singleton); m_singleton = new A,B(); } \
template<> A,B* Singleton<A,B >::m_singleton = 0
} // end namespace