# Ogre::CompositorPtr Class Reference

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

`#include <OgreCompositor.h>`

Inheritance diagram for Ogre::CompositorPtr:

[legend]
List of all members.

## Public Member Functions

| CompositorPtr ()
| CompositorPtr (Compositor *rep)
| CompositorPtr (const CompositorPtr &r)
| CompositorPtr (const ResourcePtr &r)
CompositorPtr & | operator= (const ResourcePtr &r)
| Operator used to convert a ResourcePtr to a CompositorPtr.
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)
Compositor & | operator * () const
Compositor * | operator-> () const
Compositor * | get () const
void | bind (Compositor *rep, SharedPtrFreeMethod freeMethod=SPFM_DELETE)
| Binds rep to the SharedPtr.
bool | unique () const
unsigned int | useCount () const
unsigned int * | useCountPointer () const
Compositor * | 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< Compositor > &other)

## Protected Attributes

Compositor * | pRep
unsigned int * | pUseCount
SharedPtrFreeMethod | useFreeMethod

## Detailed Description

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

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 128 of file OgreCompositor.h.

## Constructor & Destructor Documentation

Ogre::CompositorPtr::CompositorPtr | ( |  | ) |

| Definition at line 131 of file OgreCompositor.h.

Ogre::CompositorPtr::CompositorPtr | ( | Compositor * | rep | ) | `[explicit]`

| Definition at line 132 of file OgreCompositor.h.

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

| Definition at line 133 of file OgreCompositor.h.

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

| Definition at line 134 of file OgreCompositor.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< Compositor >::bind | ( | Compositor * | 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< Compositor >::destroy | ( | void |  | ) | `[protected, virtual, inherited]`

| Definition at line 215 of file OgreSharedPtr.h.

SharedPtrFreeMethod Ogre::SharedPtr< Compositor >::freeMethod | ( |  | ) | const`[inherited]`

| Definition at line 173 of file OgreSharedPtr.h.

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

| Definition at line 153 of file OgreSharedPtr.h.

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

| Definition at line 172 of file OgreSharedPtr.h.

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

| Definition at line 175 of file OgreSharedPtr.h.

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

| Definition at line 151 of file OgreSharedPtr.h.

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

| Definition at line 152 of file OgreSharedPtr.h.

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

| Operator used to convert a ResourcePtr to a CompositorPtr. Definition at line 151 of file OgreCompositor.h. References OGRE_COPY_AUTO_SHARED_MUTEX, OGRE_LOCK_MUTEX, and OGRE_MUTEX_CONDITIONAL.

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

| Definition at line 189 of file OgreSharedPtr.h.

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

| Definition at line 177 of file OgreSharedPtr.h.

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

| Definition at line 116 of file OgreSharedPtr.h.

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

| Definition at line 85 of file OgreSharedPtr.h.

Ogre::SharedPtr< Compositor >::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< Compositor >::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< Compositor >::swap | ( | SharedPtr< Compositor > & | other | ) | `[protected, virtual, inherited]`

| Definition at line 239 of file OgreSharedPtr.h.

bool Ogre::SharedPtr< Compositor >::unique | ( |  | ) | const`[inherited]`

| Definition at line 168 of file OgreSharedPtr.h.

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

| Definition at line 169 of file OgreSharedPtr.h.

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

| Definition at line 170 of file OgreSharedPtr.h.

## Member Data Documentation

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

| Definition at line 58 of file OgreSharedPtr.h.

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

| Definition at line 59 of file OgreSharedPtr.h.

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

| Definition at line 60 of file OgreSharedPtr.h.

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

- OgreCompositor.h

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