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

Ogre::HighLevelGpuProgramPtr Class Reference

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

#include <OgreHighLevelGpuProgram.h>

Inheritance diagram for Ogre::HighLevelGpuProgramPtr:

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

Public Member Functions

 HighLevelGpuProgramPtr ()
 HighLevelGpuProgramPtr (HighLevelGpuProgram *rep)
 HighLevelGpuProgramPtr (const HighLevelGpuProgramPtr &r)
 HighLevelGpuProgramPtr (const ResourcePtr &r)
HighLevelGpuProgramPtr & operator= (const ResourcePtr &r)
 Operator used to convert a ResourcePtr to a HighLevelGpuProgramPtr.

HighLevelGpuProgramPtr & operator= (const GpuProgramPtr &r)
 Operator used to convert a GpuProgramPtr to a HighLevelGpuProgramPtr.

HighLevelGpuProgram & operator * () const
HighLevelGpuProgram * operator-> () const
HighLevelGpuProgram * get () const
void bind (HighLevelGpuProgram *rep)
 Binds rep to the SharedPtr.

bool unique () const
unsigned int useCount () const
unsigned int * useCountPointer () const
HighLevelGpuProgram * getPointer () const
bool isNull (void) const
void setNull (void)

Protected Member Functions

void release (void)
virtual void destroy (void)

Protected Attributes

HighLevelGpuProgram * pRep
unsigned int * pUseCount

Detailed Description

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

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 109 of file OgreHighLevelGpuProgram.h.


Constructor & Destructor Documentation

Ogre::HighLevelGpuProgramPtr::HighLevelGpuProgramPtr (   ) 
 

Definition at line 112 of file OgreHighLevelGpuProgram.h.

Ogre::HighLevelGpuProgramPtr::HighLevelGpuProgramPtr (  HighLevelGpuProgram *  rep  )  [explicit]
 

Definition at line 113 of file OgreHighLevelGpuProgram.h.

Ogre::HighLevelGpuProgramPtr::HighLevelGpuProgramPtr (  const HighLevelGpuProgramPtr &  r  ) 
 

Definition at line 114 of file OgreHighLevelGpuProgram.h.

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

Definition at line 115 of file OgreHighLevelGpuProgram.h.

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


Member Function Documentation

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

Binds rep to the SharedPtr.

Remarks:
Assumes that the SharedPtr is uninitialised!

Definition at line 100 of file OgreSharedPtr.h.

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

Definition at line 146 of file OgreSharedPtr.h.

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

Definition at line 94 of file OgreSharedPtr.h.

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

Definition at line 112 of file OgreSharedPtr.h.

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

Definition at line 114 of file OgreSharedPtr.h.

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

Definition at line 92 of file OgreSharedPtr.h.

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

Definition at line 93 of file OgreSharedPtr.h.

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

Operator used to convert a GpuProgramPtr to a HighLevelGpuProgramPtr.

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

Operator used to convert a ResourcePtr to a HighLevelGpuProgramPtr.

Definition at line 129 of file OgreHighLevelGpuProgram.h.

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

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

Definition at line 129 of file OgreSharedPtr.h.

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

Definition at line 116 of file OgreSharedPtr.h.

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

Definition at line 108 of file OgreSharedPtr.h.

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

Definition at line 109 of file OgreSharedPtr.h.

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

Definition at line 110 of file OgreSharedPtr.h.


Member Data Documentation

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

Definition at line 46 of file OgreSharedPtr.h.

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

Definition at line 47 of file OgreSharedPtr.h.


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

Copyright © 2000-2005 by The OGRE Team
Last modified Sun Nov 20 12:37:00 2005