Changeset 10418 for code/branches/core7/src/libraries/core/singleton
- Timestamp:
- May 3, 2015, 1:54:43 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/core7/src/libraries/core/singleton/ScopedSingletonManager.h
r10413 r10418 61 61 If this macro is called for a singleton, it is registered with ScopedSingletonManager 62 62 and will thus be created if its scope becomes active and destroyed if is deactivated. 63 64 65 Usually a singleton gets created automatically when it is first used, but it will never 66 be destroyed (unless the singleton explicitly deletes itself). To allow controlled 67 construction and destruction, the singleton can be put within a virtual scope. This is 68 done by registering the singleton class with orxonox::ScopedSingletonManager. To 69 do so, the ManageScopedSingleton() macro has to be called: 70 71 @code 72 ManageScopedSingleton(TestSingleton, ScopeID::Graphics, false); // muste be called in a source (*.cc) file 73 @endcode 74 75 @b Important: If you call ManageScopedSingleton(), you don't have to initialize singletonPtr_s anymore, 76 because that's already done by the macro. 77 78 Now the singleton TestSingleton gets automatically created if the scope Graphics becomes 79 active and also gets destroyed if the scope is deactivated. 80 81 Note that not all singletons must register with a scope, but it's recommended. 82 63 83 */ 64 84 #define ManageScopedSingleton(className, scope, allowedToFail) \
Note: See TracChangeset
for help on using the changeset viewer.