Module: Threads Package: Smart Pointer
Base Class
#include <rw/pointer/RWTSingleton.h>
RWTSingleton ensures that a class has only one instance, and provides a global point of access to it. This is an Object Creational pattern. For more information, see Design Patterns, by Gamma, Helm, Johnson, and Vlissides.
#include <rw/pointer/RWTSingleton.h> #include <iostream.h> class Foo { public: function(){cout << "I'm a foo example" << endl;}; }; RWTCountingPointer<Foo> singleFooPtr = RWTSingleton<Foo>::instance(); int main(void) { singleFooPtr->function(); return 0; }
static RWTCountingPointer<T, RWSafeCounter>& instance();
Creates and returns the instance of T, if it has not already been created.
~RWTSingleton();
Destructor.
RWTSingleton();
The constructor is protected to ensure that only one instance can ever get created.
static RWTCountingPointer<T, RWSafeCounter> & get();
Protected accessor function that gives access to the class state. Inherited classes use this function.
© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.