diff options
author | Graham Linden <graham@lindenlab.com> | 2019-01-04 16:18:18 -0800 |
---|---|---|
committer | Graham Linden <graham@lindenlab.com> | 2019-01-04 16:18:18 -0800 |
commit | 75171ee5d1a68e25abe899fdb997ba6df06f7529 (patch) | |
tree | 09682eb2aba84b504349d267ccb59a3e82432c9d /indra/llcommon | |
parent | 450d1806b9cf2ac72879e8fbc0040b3c0bde94ad (diff) | |
parent | e9a2e8f88c67685ea6b894e8a4ae289067d0bfb7 (diff) |
Merge
Diffstat (limited to 'indra/llcommon')
-rw-r--r-- | indra/llcommon/llsingleton.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/indra/llcommon/llsingleton.h b/indra/llcommon/llsingleton.h index 859e271e26..d4938ed9b7 100644 --- a/indra/llcommon/llsingleton.h +++ b/indra/llcommon/llsingleton.h @@ -493,6 +493,17 @@ private: \ DERIVED_CLASS() /** + * A slight variance from the above, but includes the "override" keyword + */ +#define LLSINGLETON_C11(DERIVED_CLASS) \ +private: \ + /* implement LLSingleton pure virtual method whose sole purpose */ \ + /* is to remind people to use this macro */ \ + virtual void you_must_use_LLSINGLETON_macro() override {} \ + friend class LLSingleton<DERIVED_CLASS>; \ + DERIVED_CLASS() + +/** * Use LLSINGLETON_EMPTY_CTOR(Foo); at the start of an LLSingleton<Foo> * subclass body when the constructor is trivial: * @@ -510,4 +521,8 @@ private: \ /* LLSINGLETON() is carefully implemented to permit exactly this */ \ LLSINGLETON(DERIVED_CLASS) {} +#define LLSINGLETON_EMPTY_CTOR_C11(DERIVED_CLASS) \ + /* LLSINGLETON() is carefully implemented to permit exactly this */ \ + LLSINGLETON_C11(DERIVED_CLASS) {} + #endif |