summaryrefslogtreecommitdiffstats
path: root/src/factory.h
diff options
context:
space:
mode:
authorMarkus Engel <markus.engel@tum.de>2013-07-31 19:11:20 +0000
committerMarkus Engel <markus.engel@tum.de>2013-07-31 19:11:20 +0000
commit989abbac025a8b3349748d19a613a08586c5fdcd (patch)
tree157b5f656c6344784aea3c498fa60199bd7d2958 /src/factory.h
parentFurther refactoring of EventContexts. (diff)
downloadinkscape-989abbac025a8b3349748d19a613a08586c5fdcd.tar.gz
inkscape-989abbac025a8b3349748d19a613a08586c5fdcd.zip
Fixed SPObject ctor and dtor; removed singleton.h; some smaller changes.
(bzr r11608.1.110)
Diffstat (limited to 'src/factory.h')
-rw-r--r--src/factory.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/factory.h b/src/factory.h
index 495db5474..ca90a6e9a 100644
--- a/src/factory.h
+++ b/src/factory.h
@@ -1,9 +1,21 @@
-#pragma once
+#ifndef FACTORY_H_SEEN
+#define FACTORY_H_SEEN
#include <exception>
#include <map>
#include <string>
+/**
+ * A simple singleton implementation.
+ */
+template<class T>
+struct Singleton {
+ static T& instance() {
+ static T inst;
+ return inst;
+ }
+};
+
namespace FactoryExceptions {
class TypeNotRegistered : public std::exception {
public:
@@ -78,3 +90,6 @@ struct NodeTraits {
return name;
}
};
+
+#endif
+