Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Ogre::D3D9TexturePtr Class Reference

Specialisation of SharedPtr to allow SharedPtr to be assigned to D3D9TexturePtr. More...

#include <OgreD3D9Texture.h>

Inheritance diagram for Ogre::D3D9TexturePtr:

Ogre::SharedPtr< D3D9Texture > List of all members.

Public Member Functions

 D3D9TexturePtr ()
 D3D9TexturePtr (D3D9Texture *rep)
 D3D9TexturePtr (const D3D9TexturePtr &r)
 D3D9TexturePtr (const ResourcePtr &r)
D3D9TexturePtr & operator= (const ResourcePtr &r)
 Operator used to convert a ResourcePtr to a D3D9TexturePtr.
D3D9TexturePtr & operator= (const TexturePtr &r)
 Operator used to convert a TexturePtr to a D3D9TexturePtr.
OGRE_AUTO_SHARED_MUTEX SharedPtr ()
 Constructor, does not initialise the SharedPtr.
 SharedPtr (D3D9Texture *rep)
 SharedPtr (const SharedPtr &r)
D3D9Texture & operator * () const
D3D9Texture * operator-> () const
D3D9Texture * get () const
void bind (D3D9Texture *rep)
 Binds rep to the SharedPtr.
bool unique () const
unsigned int useCount () const
unsigned int * useCountPointer () const
D3D9Texture * getPointer () const
bool isNull (void) const
void setNull (void)

Protected Member Functions

void release (void)
virtual void destroy (void)

Protected Attributes

D3D9Texture * pRep
unsigned int * pUseCount

Detailed Description

Specialisation of SharedPtr to allow SharedPtr to be assigned to D3D9TexturePtr.

Note:
Has to be a subclass since we need operator=. We could templatise this instead of repeating per Resource subclass, except to do so requires a form VC6 does not support i.e. ResourceSubclassPtr<T> : public SharedPtr<T>

Definition at line 160 of file OgreD3D9Texture.h.


Constructor & Destructor Documentation

Ogre::D3D9TexturePtr::D3D9TexturePtr (   ) 
 

Definition at line 163 of file OgreD3D9Texture.h.

Ogre::D3D9TexturePtr::D3D9TexturePtr (  D3D9Texture *  rep  )  [explicit]
 

Definition at line 164 of file OgreD3D9Texture.h.

Ogre::D3D9TexturePtr::D3D9TexturePtr (  const D3D9TexturePtr &  r  ) 
 

Definition at line 165 of file OgreD3D9Texture.h.

Ogre::D3D9TexturePtr::D3D9TexturePtr (  const ResourcePtr &  r  ) 
 

Definition at line 166 of file OgreD3D9Texture.h.

References Ogre::SharedPtr< T >::getPointer(), OGRE_COPY_AUTO_SHARED_MUTEX, OGRE_LOCK_MUTEX, OGRE_MUTEX_CONDITIONAL, Ogre::SharedPtr< D3D9Texture >::pRep, Ogre::SharedPtr< D3D9Texture >::pUseCount, and Ogre::SharedPtr< T >::useCountPointer().


Member Function Documentation

void Ogre::SharedPtr< D3D9Texture >::bind (  D3D9Texture *  rep  )  [inherited]
 

Binds rep to the SharedPtr.

Remarks:
Assumes that the SharedPtr is uninitialised!

Definition at line 114 of file OgreSharedPtr.h.

virtual void Ogre::SharedPtr< D3D9Texture >::destroy (  void   )  [protected, virtual, inherited]
 

Definition at line 168 of file OgreSharedPtr.h.

D3D9Texture * Ogre::SharedPtr< D3D9Texture >::get (   )  const [inherited]
 

Definition at line 108 of file OgreSharedPtr.h.

D3D9Texture * Ogre::SharedPtr< D3D9Texture >::getPointer (   )  const [inherited]
 

Definition at line 126 of file OgreSharedPtr.h.

bool Ogre::SharedPtr< D3D9Texture >::isNull (  void   )  const [inherited]
 

Definition at line 128 of file OgreSharedPtr.h.

D3D9Texture & Ogre::SharedPtr< D3D9Texture >::operator * (   )  const [inherited]
 

Definition at line 106 of file OgreSharedPtr.h.

D3D9Texture * Ogre::SharedPtr< D3D9Texture >::operator-> (   )  const [inherited]
 

Definition at line 107 of file OgreSharedPtr.h.

D3D9TexturePtr& Ogre::D3D9TexturePtr::operator= (  const TexturePtr &  r  ) 
 

Operator used to convert a TexturePtr to a D3D9TexturePtr.

Definition at line 203 of file OgreD3D9Texture.h.

References OGRE_COPY_AUTO_SHARED_MUTEX, OGRE_LOCK_MUTEX, OGRE_MUTEX_CONDITIONAL, Ogre::SharedPtr< D3D9Texture >::pRep, Ogre::SharedPtr< D3D9Texture >::pUseCount, and Ogre::SharedPtr< D3D9Texture >::release().

D3D9TexturePtr& Ogre::D3D9TexturePtr::operator= (  const ResourcePtr &  r  ) 
 

Operator used to convert a ResourcePtr to a D3D9TexturePtr.

Definition at line 183 of file OgreD3D9Texture.h.

References OGRE_COPY_AUTO_SHARED_MUTEX, OGRE_LOCK_MUTEX, OGRE_MUTEX_CONDITIONAL, Ogre::SharedPtr< D3D9Texture >::pRep, Ogre::SharedPtr< D3D9Texture >::pUseCount, and Ogre::SharedPtr< D3D9Texture >::release().

void Ogre::SharedPtr< D3D9Texture >::release (  void   )  [protected, inherited]
 

Definition at line 142 of file OgreSharedPtr.h.

Referenced by operator=().

void Ogre::SharedPtr< D3D9Texture >::setNull (  void   )  [inherited]
 

Definition at line 130 of file OgreSharedPtr.h.

Ogre::SharedPtr< D3D9Texture >::SharedPtr (  const SharedPtr< D3D9Texture > &  r  )  [inherited]
 

Definition at line 64 of file OgreSharedPtr.h.

Ogre::SharedPtr< D3D9Texture >::SharedPtr (  D3D9Texture *  rep  )  [explicit, inherited]
 

Definition at line 59 of file OgreSharedPtr.h.

OGRE_AUTO_SHARED_MUTEX Ogre::SharedPtr< D3D9Texture >::SharedPtr (   )  [inherited]
 

Constructor, does not initialise the SharedPtr.

Remarks:
Dangerous! You have to call bind() before using the SharedPtr.

Definition at line 54 of file OgreSharedPtr.h.

bool Ogre::SharedPtr< D3D9Texture >::unique (   )  const [inherited]
 

Definition at line 122 of file OgreSharedPtr.h.

unsigned int Ogre::SharedPtr< D3D9Texture >::useCount (   )  const [inherited]
 

Definition at line 123 of file OgreSharedPtr.h.

unsigned int* Ogre::SharedPtr< D3D9Texture >::useCountPointer (   )  const [inherited]
 

Definition at line 124 of file OgreSharedPtr.h.


Member Data Documentation

D3D9Texture * Ogre::SharedPtr< D3D9Texture >::pRep [protected, inherited]
 

Definition at line 46 of file OgreSharedPtr.h.

Referenced by D3D9TexturePtr(), and operator=().

unsigned int* Ogre::SharedPtr< D3D9Texture >::pUseCount [protected, inherited]
 

Definition at line 47 of file OgreSharedPtr.h.

Referenced by D3D9TexturePtr(), and operator=().


The documentation for this class was generated from the following file:

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Jan 21 10:10:20 2007