# Ogre::D3D9GpuProgramPtr Class Reference

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

`#include <OgreD3D9GpuProgram.h>`

Inheritance diagram for Ogre::D3D9GpuProgramPtr:

List of all members.

## Public Member Functions

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

## Protected Member Functions

void | release (void)
virtual void | destroy (void)

## Protected Attributes

D3D9GpuProgram * | pRep
unsigned int * | pUseCount

## Detailed Description

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

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 102 of file OgreD3D9GpuProgram.h.

## Constructor & Destructor Documentation

Ogre::D3D9GpuProgramPtr::D3D9GpuProgramPtr | ( |  | ) |

| Definition at line 105 of file OgreD3D9GpuProgram.h.

Ogre::D3D9GpuProgramPtr::D3D9GpuProgramPtr | ( | D3D9GpuProgram * | rep | ) | `[explicit]`

| Definition at line 106 of file OgreD3D9GpuProgram.h.

Ogre::D3D9GpuProgramPtr::D3D9GpuProgramPtr | ( | const D3D9GpuProgramPtr & | r | ) |

| Definition at line 107 of file OgreD3D9GpuProgram.h.

Ogre::D3D9GpuProgramPtr::D3D9GpuProgramPtr | ( | const ResourcePtr & | r | ) |

| Definition at line 108 of file OgreD3D9GpuProgram.h. References Ogre::SharedPtr< T >::getPointer(), OGRE_COPY_AUTO_SHARED_MUTEX, OGRE_LOCK_MUTEX, and Ogre::SharedPtr< T >::useCountPointer().

## Member Function Documentation

void Ogre::SharedPtr< D3D9GpuProgram >::bind | ( | D3D9GpuProgram * | 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< D3D9GpuProgram >::destroy | ( | void |  | ) | `[protected, virtual, inherited]`

| Definition at line 168 of file OgreSharedPtr.h.

D3D9GpuProgram * Ogre::SharedPtr< D3D9GpuProgram >::get | ( |  | ) | const`[inherited]`

| Definition at line 108 of file OgreSharedPtr.h.

D3D9GpuProgram * Ogre::SharedPtr< D3D9GpuProgram >::getPointer | ( |  | ) | const`[inherited]`

| Definition at line 126 of file OgreSharedPtr.h.

bool Ogre::SharedPtr< D3D9GpuProgram >::isNull | ( | void |  | ) | const`[inherited]`

| Definition at line 128 of file OgreSharedPtr.h.

D3D9GpuProgram & Ogre::SharedPtr< D3D9GpuProgram >::operator * | ( |  | ) | const`[inherited]`

| Definition at line 106 of file OgreSharedPtr.h.

D3D9GpuProgram * Ogre::SharedPtr< D3D9GpuProgram >::operator-> | ( |  | ) | const`[inherited]`

| Definition at line 107 of file OgreSharedPtr.h.

D3D9GpuProgramPtr& Ogre::D3D9GpuProgramPtr::operator= | ( | const ResourcePtr & | r | ) |

| Operator used to convert a ResourcePtr to a D3D9GpuProgramPtr. Definition at line 122 of file OgreD3D9GpuProgram.h. References OGRE_COPY_AUTO_SHARED_MUTEX, and OGRE_LOCK_MUTEX.

void Ogre::SharedPtr< D3D9GpuProgram >::release | ( | void |  | ) | `[protected, inherited]`

| Definition at line 142 of file OgreSharedPtr.h.

void Ogre::SharedPtr< D3D9GpuProgram >::setNull | ( | void |  | ) | `[inherited]`

| Definition at line 130 of file OgreSharedPtr.h.

Ogre::SharedPtr< D3D9GpuProgram >::SharedPtr | ( | const SharedPtr< D3D9GpuProgram > & | r | ) | `[inherited]`

| Definition at line 64 of file OgreSharedPtr.h.

Ogre::SharedPtr< D3D9GpuProgram >::SharedPtr | ( | D3D9GpuProgram * | rep | ) | `[explicit, inherited]`

| Definition at line 59 of file OgreSharedPtr.h.

OGRE_AUTO_SHARED_MUTEX Ogre::SharedPtr< D3D9GpuProgram >::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< D3D9GpuProgram >::unique | ( |  | ) | const`[inherited]`

| Definition at line 122 of file OgreSharedPtr.h.

unsigned int Ogre::SharedPtr< D3D9GpuProgram >::useCount | ( |  | ) | const`[inherited]`

| Definition at line 123 of file OgreSharedPtr.h.

unsigned int* Ogre::SharedPtr< D3D9GpuProgram >::useCountPointer | ( |  | ) | const`[inherited]`

| Definition at line 124 of file OgreSharedPtr.h.

## Member Data Documentation

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

| Definition at line 46 of file OgreSharedPtr.h.

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

| Definition at line 47 of file OgreSharedPtr.h.

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

- OgreD3D9GpuProgram.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 17 15:47:20 2006