Reference-counted shared pointer, used for objects where implicit destruction is required. More...
#include <OgreSharedPtr.h>
Public Member Functions | |
OGRE_AUTO_SHARED_MUTEX | SharedPtr () |
Constructor, does not initialise the SharedPtr. More... | |
template<class Y > | |
SharedPtr (Y *rep, SharedPtrFreeMethod inFreeMethod=SPFM_DELETE) | |
Constructor. More... | |
SharedPtr (const SharedPtr &r) | |
template<class Y > | |
SharedPtr (const SharedPtr< Y > &r) | |
virtual | ~SharedPtr () |
void | bind (T *rep, SharedPtrFreeMethod inFreeMethod=SPFM_DELETE) |
Binds rep to the SharedPtr. More... | |
SharedPtrFreeMethod | freeMethod () 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) |
bool | unique () const |
unsigned int | useCount () const |
unsigned int * | useCountPointer () const |
Protected Member Functions | |
virtual void | destroy (void) |
void | release (void) |
virtual void | swap (SharedPtr< T > &other) |
Protected Attributes | |
T * | pRep |
unsigned int * | pUseCount |
SharedPtrFreeMethod | useFreeMethod |
Reference-counted shared pointer, used for objects where implicit destruction is required.
Definition at line 60 of file OgreSharedPtr.h.
|
inline |
Constructor, does not initialise the SharedPtr.
Definition at line 72 of file OgreSharedPtr.h.
|
inlineexplicit |
Constructor.
rep | The pointer to take ownership of |
freeMode | The mechanism to use to free the pointer |
Definition at line 82 of file OgreSharedPtr.h.
|
inline |
Definition at line 93 of file OgreSharedPtr.h.
|
inline |
Definition at line 124 of file OgreSharedPtr.h.
|
inlinevirtual |
Definition at line 154 of file OgreSharedPtr.h.
|
inline |
Binds rep to the SharedPtr.
Definition at line 167 of file OgreSharedPtr.h.
|
inlineprotectedvirtual |
Reimplemented in Ogre::MeshPtr.
Definition at line 223 of file OgreSharedPtr.h.
Referenced by Ogre::SharedPtr< D3D11GpuProgram >::release().
|
inline |
Definition at line 181 of file OgreSharedPtr.h.
Referenced by Ogre::SharedPtr< D3D11GpuProgram >::SharedPtr().
|
inline |
Definition at line 161 of file OgreSharedPtr.h.
Referenced by Ogre::operator!=(), and Ogre::operator==().
|
inline |
Definition at line 180 of file OgreSharedPtr.h.
Referenced by Ogre::BspLevelPtr::BspLevelPtr(), Ogre::CompositorPtr::CompositorPtr(), Ogre::D3D11GpuProgramPtr::D3D11GpuProgramPtr(), Ogre::D3D11TexturePtr::D3D11TexturePtr(), Ogre::D3D9GpuProgramPtr::D3D9GpuProgramPtr(), Ogre::D3D9TexturePtr::D3D9TexturePtr(), Ogre::FontPtr::FontPtr(), Ogre::GLES2TexturePtr::GLES2TexturePtr(), Ogre::GLESTexturePtr::GLESTexturePtr(), Ogre::GLTexturePtr::GLTexturePtr(), Ogre::GpuProgramPtr::GpuProgramPtr(), Ogre::HighLevelGpuProgramPtr::HighLevelGpuProgramPtr(), Ogre::MaterialPtr::MaterialPtr(), Ogre::PatchMeshPtr::operator=(), Ogre::D3D11GpuProgramPtr::operator=(), Ogre::GLES2TexturePtr::operator=(), Ogre::GLESTexturePtr::operator=(), Ogre::GLTexturePtr::operator=(), Ogre::SharedPtr< D3D11GpuProgram >::operator=(), Ogre::HighLevelGpuProgramPtr::operator=(), Ogre::D3D9GpuProgramPtr::operator=(), Ogre::D3D11TexturePtr::operator=(), Ogre::CompositorPtr::operator=(), Ogre::D3D9TexturePtr::operator=(), Ogre::BspLevelPtr::operator=(), Ogre::FontPtr::operator=(), Ogre::GpuProgramPtr::operator=(), Ogre::TexturePtr::operator=(), Ogre::SkeletonPtr::operator=(), Ogre::MaterialPtr::operator=(), Ogre::PatchMeshPtr::PatchMeshPtr(), Ogre::SharedPtr< D3D11GpuProgram >::SharedPtr(), Ogre::SkeletonPtr::SkeletonPtr(), and Ogre::TexturePtr::TexturePtr().
|
inline |
Definition at line 183 of file OgreSharedPtr.h.
Referenced by Ogre::PatchMeshPtr::operator=(), Ogre::GLES2TexturePtr::operator=(), Ogre::GLESTexturePtr::operator=(), Ogre::GLTexturePtr::operator=(), Ogre::HighLevelGpuProgramPtr::operator=(), Ogre::CompositorPtr::operator=(), Ogre::D3D9TexturePtr::operator=(), Ogre::FontPtr::operator=(), Ogre::GpuProgramPtr::operator=(), Ogre::TexturePtr::operator=(), Ogre::SkeletonPtr::operator=(), and Ogre::MaterialPtr::operator=().
|
inline |
Definition at line 159 of file OgreSharedPtr.h.
|
inline |
Definition at line 160 of file OgreSharedPtr.h.
|
inline |
Definition at line 113 of file OgreSharedPtr.h.
|
inline |
Definition at line 145 of file OgreSharedPtr.h.
|
inlineprotected |
Definition at line 197 of file OgreSharedPtr.h.
Referenced by Ogre::SharedPtr< D3D11GpuProgram >::setNull(), and Ogre::SharedPtr< D3D11GpuProgram >::~SharedPtr().
|
inline |
Definition at line 185 of file OgreSharedPtr.h.
|
inlineprotectedvirtual |
Definition at line 247 of file OgreSharedPtr.h.
Referenced by Ogre::SharedPtr< D3D11GpuProgram >::operator=().
|
inline |
Definition at line 176 of file OgreSharedPtr.h.
|
inline |
Definition at line 177 of file OgreSharedPtr.h.
|
inline |
Definition at line 178 of file OgreSharedPtr.h.
Referenced by Ogre::BspLevelPtr::BspLevelPtr(), Ogre::CompositorPtr::CompositorPtr(), Ogre::D3D11GpuProgramPtr::D3D11GpuProgramPtr(), Ogre::D3D11TexturePtr::D3D11TexturePtr(), Ogre::D3D9GpuProgramPtr::D3D9GpuProgramPtr(), Ogre::D3D9TexturePtr::D3D9TexturePtr(), Ogre::FontPtr::FontPtr(), Ogre::GLES2TexturePtr::GLES2TexturePtr(), Ogre::GLESTexturePtr::GLESTexturePtr(), Ogre::GLTexturePtr::GLTexturePtr(), Ogre::GpuProgramPtr::GpuProgramPtr(), Ogre::HighLevelGpuProgramPtr::HighLevelGpuProgramPtr(), Ogre::MaterialPtr::MaterialPtr(), Ogre::PatchMeshPtr::operator=(), Ogre::D3D11GpuProgramPtr::operator=(), Ogre::GLES2TexturePtr::operator=(), Ogre::GLESTexturePtr::operator=(), Ogre::GLTexturePtr::operator=(), Ogre::HighLevelGpuProgramPtr::operator=(), Ogre::D3D9GpuProgramPtr::operator=(), Ogre::D3D11TexturePtr::operator=(), Ogre::CompositorPtr::operator=(), Ogre::D3D9TexturePtr::operator=(), Ogre::BspLevelPtr::operator=(), Ogre::FontPtr::operator=(), Ogre::GpuProgramPtr::operator=(), Ogre::TexturePtr::operator=(), Ogre::SkeletonPtr::operator=(), Ogre::MaterialPtr::operator=(), Ogre::PatchMeshPtr::PatchMeshPtr(), Ogre::SharedPtr< D3D11GpuProgram >::SharedPtr(), Ogre::SkeletonPtr::SkeletonPtr(), and Ogre::TexturePtr::TexturePtr().
|
protected |
Definition at line 63 of file OgreSharedPtr.h.
Referenced by Ogre::SharedPtr< D3D11GpuProgram >::bind(), Ogre::SharedPtr< D3D11GpuProgram >::destroy(), Ogre::SharedPtr< D3D11GpuProgram >::get(), Ogre::SharedPtr< D3D11GpuProgram >::getPointer(), Ogre::SharedPtr< D3D11GpuProgram >::isNull(), Ogre::SharedPtr< D3D11GpuProgram >::operator*(), Ogre::SharedPtr< D3D11GpuProgram >::operator->(), Ogre::SharedPtr< D3D11GpuProgram >::operator=(), Ogre::SharedPtr< D3D11GpuProgram >::setNull(), Ogre::SharedPtr< D3D11GpuProgram >::SharedPtr(), and Ogre::SharedPtr< D3D11GpuProgram >::swap().
|
protected |
Definition at line 64 of file OgreSharedPtr.h.
Referenced by Ogre::SharedPtr< D3D11GpuProgram >::bind(), Ogre::SharedPtr< D3D11GpuProgram >::destroy(), Ogre::SharedPtr< D3D11GpuProgram >::release(), Ogre::SharedPtr< D3D11GpuProgram >::setNull(), Ogre::SharedPtr< D3D11GpuProgram >::SharedPtr(), Ogre::SharedPtr< D3D11GpuProgram >::swap(), Ogre::SharedPtr< D3D11GpuProgram >::unique(), Ogre::SharedPtr< D3D11GpuProgram >::useCount(), and Ogre::SharedPtr< D3D11GpuProgram >::useCountPointer().
|
protected |