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

Ogre::GpuProgramPtr Class Reference

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

#include <OgreGpuProgram.h>

Inheritance diagram for Ogre::GpuProgramPtr:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 GpuProgramPtr ()
 GpuProgramPtr (GpuProgram *rep)
 GpuProgramPtr (const GpuProgramPtr &r)
 GpuProgramPtr (const ResourcePtr &r)
GpuProgramPtr & operator= (const ResourcePtr &r)
 Operator used to convert a ResourcePtr to a GpuProgramPtr.
GpuProgramPtr & operator= (const HighLevelGpuProgramPtr &r)
 Operator used to convert a HighLevelGpuProgramPtr to a GpuProgramPtr.
OGRE_AUTO_SHARED_MUTEX SharedPtr ()
 Constructor, does not initialise the SharedPtr.
 SharedPtr (Y *rep, SharedPtrFreeMethod freeMethod=SPFM_DELETE)
 Constructor.
 SharedPtr (const SharedPtr &r)
 SharedPtr (const SharedPtr< Y > &r)
GpuProgram & operator * () const
GpuProgram * operator-> () const
GpuProgram * get () const
void bind (GpuProgram *rep, SharedPtrFreeMethod freeMethod=SPFM_DELETE)
 Binds rep to the SharedPtr.
bool unique () const
unsigned int useCount () const
unsigned int * useCountPointer () const
GpuProgram * getPointer () const
SharedPtrFreeMethod freeMethod () const
bool isNull (void) const
void setNull (void)

Protected Member Functions

void release (void)
virtual void destroy (void)
virtual void swap (SharedPtr< GpuProgram > &other)

Protected Attributes

GpuProgram * pRep
unsigned int * pUseCount
SharedPtrFreeMethod useFreeMethod

Detailed Description

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

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 1747 of file OgreGpuProgram.h.


Constructor & Destructor Documentation

Ogre::GpuProgramPtr::GpuProgramPtr (   ) 
 

Definition at line 1750 of file OgreGpuProgram.h.

Ogre::GpuProgramPtr::GpuProgramPtr (  GpuProgram *  rep  )  [explicit]
 

Definition at line 1751 of file OgreGpuProgram.h.

Ogre::GpuProgramPtr::GpuProgramPtr (  const GpuProgramPtr &  r  ) 
 

Definition at line 1752 of file OgreGpuProgram.h.

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

Definition at line 1753 of file OgreGpuProgram.h.

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


Member Function Documentation

void Ogre::SharedPtr< GpuProgram >::bind (  GpuProgram *  rep,
SharedPtrFreeMethod  freeMethod = SPFM_DELETE
)  [inherited]
 

Binds rep to the SharedPtr.

Remarks:
Assumes that the SharedPtr is uninitialised!

Definition at line 159 of file OgreSharedPtr.h.

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

Definition at line 215 of file OgreSharedPtr.h.

SharedPtrFreeMethod Ogre::SharedPtr< GpuProgram >::freeMethod (   )  const [inherited]
 

Definition at line 173 of file OgreSharedPtr.h.

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

Definition at line 153 of file OgreSharedPtr.h.

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

Definition at line 172 of file OgreSharedPtr.h.

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

Definition at line 175 of file OgreSharedPtr.h.

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

Definition at line 151 of file OgreSharedPtr.h.

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

Definition at line 152 of file OgreSharedPtr.h.

GpuProgramPtr& Ogre::GpuProgramPtr::operator= (  const HighLevelGpuProgramPtr &  r  ) 
 

Operator used to convert a HighLevelGpuProgramPtr to a GpuProgramPtr.

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

Operator used to convert a ResourcePtr to a GpuProgramPtr.

Definition at line 1770 of file OgreGpuProgram.h.

References OGRE_COPY_AUTO_SHARED_MUTEX, OGRE_LOCK_MUTEX, and OGRE_MUTEX_CONDITIONAL.

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

Definition at line 189 of file OgreSharedPtr.h.

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

Definition at line 177 of file OgreSharedPtr.h.

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

Definition at line 116 of file OgreSharedPtr.h.

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

Definition at line 85 of file OgreSharedPtr.h.

Ogre::SharedPtr< GpuProgram >::SharedPtr (  Y *  rep,
SharedPtrFreeMethod  freeMethod = SPFM_DELETE
)  [explicit, inherited]
 

Constructor.

Parameters:
rep The pointer to take ownership of
freeMode The mechanism to use to free the pointer

Definition at line 77 of file OgreSharedPtr.h.

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

Constructor, does not initialise the SharedPtr.

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

Definition at line 67 of file OgreSharedPtr.h.

virtual void Ogre::SharedPtr< GpuProgram >::swap (  SharedPtr< GpuProgram > &  other  )  [protected, virtual, inherited]
 

Definition at line 239 of file OgreSharedPtr.h.

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

Definition at line 168 of file OgreSharedPtr.h.

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

Definition at line 169 of file OgreSharedPtr.h.

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

Definition at line 170 of file OgreSharedPtr.h.


Member Data Documentation

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

Definition at line 58 of file OgreSharedPtr.h.

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

Definition at line 59 of file OgreSharedPtr.h.

SharedPtrFreeMethod Ogre::SharedPtr< GpuProgram >::useFreeMethod [protected, inherited]
 

Definition at line 60 of file OgreSharedPtr.h.


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

Copyright © 2008 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat Apr 11 13:48:10 2009