summaryrefslogtreecommitdiff
path: root/indra/llcommon/metaclasst.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llcommon/metaclasst.h')
-rw-r--r--indra/llcommon/metaclasst.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/indra/llcommon/metaclasst.h b/indra/llcommon/metaclasst.h
new file mode 100644
index 0000000000..8ae9016b57
--- /dev/null
+++ b/indra/llcommon/metaclasst.h
@@ -0,0 +1,42 @@
+/**
+ * @file metaclasst.h
+ *
+ * Copyright (c) 2006-$CurrentYear$, Linden Research, Inc.
+ * $License$
+ */
+
+#ifndef LL_METACLASST_H
+#define LL_METACLASST_H
+
+#include "metaclass.h"
+
+template<class TObject>
+class LLMetaClassT : public LLMetaClass
+{
+ public:
+
+ virtual ~LLMetaClassT() {;}
+
+ static const LLMetaClassT& instance()
+ {
+ static const LLMetaClassT& instance = buildMetaClass();
+ return instance;
+ }
+
+ private:
+
+ static const LLMetaClassT& buildMetaClass()
+ {
+ LLMetaClassT& meta_class = *(new LLMetaClassT());
+ reflectProperties(meta_class);
+ return meta_class;
+ }
+
+ LLMetaClassT() {;}
+
+ static void reflectProperties(LLMetaClass&)
+ {
+ }
+};
+
+#endif // LL_METACLASST_H