diff options
Diffstat (limited to 'indra/llcommon/metaclasst.h')
-rw-r--r-- | indra/llcommon/metaclasst.h | 42 |
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 |