NDDEM
|
A static, pre-execution object. More...
#include <static_object.hpp>
Classes | |
class | LockGuard |
A class that acts like std::lock_guard. More... | |
Static Public Member Functions | |
static T & | getInstance () |
static LockGuard | lock () |
Attempts to lock this static object for the current scope. More... | |
Private Member Functions | |
StaticObject (StaticObject const &) | |
Static Private Member Functions | |
static T & | create () |
Static Private Attributes | |
static T & | instance = StaticObject<T>::create() |
A static, pre-execution object.
This class will create a single copy (singleton) of some type and ensures that merely referencing this type will cause it to be instantiated and initialized pre-execution. For example, this is used heavily in the polymorphic pointer serialization mechanisms to bind various archive types with different polymorphic classes
|
inlineprivate |
|
inlinestaticprivate |
Forces instantiation at pre-execution time
|
inlinestatic |
|
inlinestatic |
Attempts to lock this static object for the current scope.
This function returns an object that holds a lock for this StaticObject that will release its lock upon destruction. This call will block until the lock is available.
|
staticprivate |