OGRE
1.9.0
|
Reference-counted shared pointer, used for objects where implicit destruction is required. More...
#include <OgreSharedPtr.h>
Public Member Functions | |
SharedPtr () | |
Constructor, does not initialise the SharedPtr. | |
SharedPtr (const SharedPtr &r) | |
template<class Y > | |
SharedPtr (const SharedPtr< Y > &r) | |
template<class Y > | |
SharedPtr (Y *rep, SharedPtrFreeMethod inFreeMethod=SPFM_DELETE) | |
Constructor. | |
~SharedPtr () | |
void | bind (T *rep, SharedPtrFreeMethod inFreeMethod=SPFM_DELETE) |
Binds rep to the SharedPtr. | |
template<typename Y > | |
SharedPtr< Y > | dynamicCast () const |
T * | get () const |
T * | getPointer () const |
bool | isNull (void) const |
T & | operator* () const |
T * | operator-> () const |
SharedPtr & | operator= (const SharedPtr &r) |
template<class Y > | |
SharedPtr & | operator= (const SharedPtr< Y > &r) |
void | setNull (void) |
void | setUseCount (unsigned value) |
template<typename Y > | |
SharedPtr< Y > | staticCast () const |
bool | unique () const |
unsigned int | useCount () const |
Protected Member Functions | |
SharedPtr (T *rep, SharedPtrInfo *info) | |
void | destroy (void) |
IF YOU GET A CRASH HERE, YOU FORGOT TO FREE UP POINTERS BEFORE SHUTTING OGRE DOWN Use setNull() before shutdown or make sure your pointer goes out of scope before OGRE shuts down to avoid this. | |
void | release (void) |
void | swap (SharedPtr< T > &other) |
Protected Attributes | |
SharedPtrInfo * | pInfo |
T * | pRep |
Static Private Member Functions | |
static SharedPtrInfo * | createInfoForMethod (T *rep, SharedPtrFreeMethod method) |
Friends | |
template<typename Y > | |
class | SharedPtr |
Reference-counted shared pointer, used for objects where implicit destruction is required.
Definition at line 117 of file OgreSharedPtr.h.
|
protected |
Definition at line 136 of file OgreSharedPtr.h.
Ogre::SharedPtr< T >::SharedPtr | ( | ) |
Constructor, does not initialise the SharedPtr.
Definition at line 145 of file OgreSharedPtr.h.
|
explicit |
Constructor.
rep | The pointer to take ownership of |
inFreeMethod | The mechanism to use to free the pointer |
Definition at line 167 of file OgreSharedPtr.h.
Ogre::SharedPtr< T >::SharedPtr | ( | const SharedPtr< T > & | r | ) |
Definition at line 173 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::pInfo, Ogre::SharedPtr< T >::pRep, and Ogre::SharedPtrInfo::useCount.
Definition at line 207 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::pInfo, Ogre::SharedPtr< T >::pRep, and Ogre::SharedPtrInfo::useCount.
Ogre::SharedPtr< T >::~SharedPtr | ( | ) |
Definition at line 238 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::release().
void Ogre::SharedPtr< T >::bind | ( | T * | rep, |
SharedPtrFreeMethod | inFreeMethod = SPFM_DELETE |
||
) |
Binds rep to the SharedPtr.
Definition at line 273 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::createInfoForMethod(), Ogre::SharedPtr< T >::pInfo, and Ogre::SharedPtr< T >::pRep.
|
staticprivate |
Definition at line 149 of file OgreSharedPtr.h.
References Ogre::MEMCATEGORY_GENERAL, OGRE_NEW_T, Ogre::SPFM_DELETE, Ogre::SPFM_DELETE_T, Ogre::SPFM_FREE, and Ogre::SPFM_NONE.
Referenced by Ogre::SharedPtr< T >::bind().
|
protected |
IF YOU GET A CRASH HERE, YOU FORGOT TO FREE UP POINTERS BEFORE SHUTTING OGRE DOWN Use setNull() before shutdown or make sure your pointer goes out of scope before OGRE shuts down to avoid this.
Definition at line 313 of file OgreSharedPtr.h.
References Ogre::MEMCATEGORY_GENERAL, OGRE_DELETE_T, Ogre::SharedPtr< T >::pInfo, and Ogre::SharedPtr< T >::pRep.
Referenced by Ogre::SharedPtr< T >::release().
Definition at line 253 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::pInfo, Ogre::SharedPtr< T >::pRep, and Ogre::SharedPtrInfo::useCount.
T * Ogre::SharedPtr< T >::get | ( | ) | const |
Definition at line 264 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::pRep.
Referenced by Ogre::GpuProgram::getConstantDefinitions(), Ogre::GpuProgram::getNamedConstants(), Ogre::operator!=(), Ogre::operator<(), and Ogre::operator==().
T * Ogre::SharedPtr< T >::getPointer | ( | ) | const |
Definition at line 283 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::pRep.
Referenced by Ogre::HighLevelGpuProgram::_getBindingDelegate().
bool Ogre::SharedPtr< T >::isNull | ( | void | ) | const |
Definition at line 285 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::pRep.
Referenced by Ogre::GpuProgram::hasDefaultParameters(), Ogre::GpuProgramParameters::hasLogicalIndexedParameters(), and Ogre::GpuProgramParameters::hasNamedParameters().
T & Ogre::SharedPtr< T >::operator* | ( | ) | const |
Definition at line 262 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::pRep.
T * Ogre::SharedPtr< T >::operator-> | ( | ) | const |
Definition at line 263 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::pRep.
SharedPtr & Ogre::SharedPtr< T >::operator= | ( | const SharedPtr< T > & | r | ) |
Definition at line 183 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::pInfo, Ogre::SharedPtr< T >::pRep, and Ogre::SharedPtr< T >::swap().
SharedPtr & Ogre::SharedPtr< T >::operator= | ( | const SharedPtr< Y > & | r | ) |
Definition at line 224 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::pInfo, Ogre::SharedPtr< T >::pRep, and Ogre::SharedPtr< T >::swap().
|
protected |
Definition at line 296 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::destroy(), Ogre::SharedPtr< T >::pInfo, Ogre::SharedPtr< T >::pRep, and Ogre::SharedPtrInfo::useCount.
Referenced by Ogre::SharedPtr< T >::~SharedPtr(), and Ogre::SharedPtr< T >::setNull().
void Ogre::SharedPtr< T >::setNull | ( | void | ) |
Definition at line 287 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::pRep, and Ogre::SharedPtr< T >::release().
void Ogre::SharedPtr< T >::setUseCount | ( | unsigned | value | ) |
Definition at line 281 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::pInfo, and Ogre::SharedPtrInfo::useCount.
Definition at line 244 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::pInfo, Ogre::SharedPtr< T >::pRep, and Ogre::SharedPtrInfo::useCount.
|
protected |
Definition at line 319 of file OgreSharedPtr.h.
References Ogre::SharedPtr< T >::pInfo, Ogre::SharedPtr< T >::pRep, and std::swap().
Referenced by Ogre::SharedPtr< T >::operator=().
bool Ogre::SharedPtr< T >::unique | ( | ) | const |
Definition at line 279 of file OgreSharedPtr.h.
References Ogre::AtomicScalar< T >::get(), Ogre::SharedPtr< T >::pInfo, and Ogre::SharedPtrInfo::useCount.
unsigned int Ogre::SharedPtr< T >::useCount | ( | ) | const |
Definition at line 280 of file OgreSharedPtr.h.
References Ogre::AtomicScalar< T >::get(), Ogre::SharedPtr< T >::pInfo, and Ogre::SharedPtrInfo::useCount.
Definition at line 119 of file OgreSharedPtr.h.
|
protected |
Definition at line 134 of file OgreSharedPtr.h.
Referenced by Ogre::SharedPtr< T >::SharedPtr(), Ogre::SharedPtr< T >::bind(), Ogre::SharedPtr< T >::destroy(), Ogre::SharedPtr< T >::dynamicCast(), Ogre::SharedPtr< T >::operator=(), Ogre::SharedPtr< T >::release(), Ogre::SharedPtr< T >::setUseCount(), Ogre::SharedPtr< T >::staticCast(), Ogre::SharedPtr< T >::swap(), Ogre::SharedPtr< T >::unique(), and Ogre::SharedPtr< T >::useCount().
|
protected |
Definition at line 133 of file OgreSharedPtr.h.
Referenced by Ogre::SharedPtr< T >::SharedPtr(), Ogre::SharedPtr< T >::bind(), Ogre::SharedPtr< T >::destroy(), Ogre::SharedPtr< T >::dynamicCast(), Ogre::SharedPtr< T >::get(), Ogre::SharedPtr< T >::getPointer(), Ogre::SharedPtr< T >::isNull(), Ogre::SharedPtr< T >::operator*(), Ogre::SharedPtr< T >::operator->(), Ogre::SharedPtr< T >::operator=(), Ogre::SharedPtr< T >::release(), Ogre::SharedPtr< T >::setNull(), Ogre::SharedPtr< T >::staticCast(), and Ogre::SharedPtr< T >::swap().