SourcePro C++ 12.0 |
SourcePro® C++ API Reference Guide |
SourcePro C++ Documentation Home |
Ensures that a class has only one instance and provides a global point of access to it. More...
#include <rw/pointer/RWTSingleton.h>
Static Public Member Functions | |
static RWTCountingPointer< T, RWAtomicCounter > & | instance () |
Protected Member Functions | |
RWTSingleton () | |
Static Protected Member Functions | |
static RWTCountingPointer< T, RWAtomicCounter > & | get () |
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> class Foo { public: void function() { std::cout << "I'm a foo example" << std::endl; } }; RWTCountingPointer<Foo> singleFooPtr = RWTSingleton<Foo>::instance(); int main(void) { singleFooPtr->function(); return 0; }
RWTSingleton< T >::RWTSingleton | ( | ) | [inline, protected] |
The constructor is protected to ensure that only one instance can ever get created.
static RWTCountingPointer<T, RWAtomicCounter>& RWTSingleton< T >::get | ( | void | ) | [inline, static, protected] |
Protected accessor function that gives access to the class state. Inherited classes use this function.
static RWTCountingPointer<T, RWAtomicCounter>& RWTSingleton< T >::instance | ( | void | ) | [inline, static] |
Creates and returns the instance of T
, if it has not already been created.
© 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.