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

Ogre::SkeletonPtr Class Reference

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

#include <OgreSkeleton.h>

Inheritance diagram for Ogre::SkeletonPtr:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 SkeletonPtr ()
 SkeletonPtr (Skeleton *rep)
 SkeletonPtr (const SkeletonPtr &r)
 SkeletonPtr (const ResourcePtr &r)
SkeletonPtroperator= (const ResourcePtr &r)
 Operator used to convert a ResourcePtr to a SkeletonPtr.
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)
Skeletonoperator * () const
Skeletonoperator-> () const
Skeletonget () const
void bind (Skeleton *rep, SharedPtrFreeMethod freeMethod=SPFM_DELETE)
 Binds rep to the SharedPtr.
bool unique () const
unsigned int useCount () const
unsigned int * useCountPointer () const
SkeletongetPointer () 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< Skeleton > &other)

Protected Attributes

SkeletonpRep
unsigned int * pUseCount
SharedPtrFreeMethod useFreeMethod

Detailed Description

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

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 456 of file OgreSkeleton.h.


Constructor & Destructor Documentation

Ogre::SkeletonPtr::SkeletonPtr  ) 
 

Definition at line 459 of file OgreSkeleton.h.

Ogre::SkeletonPtr::SkeletonPtr Skeleton rep  )  [explicit]
 

Definition at line 460 of file OgreSkeleton.h.

Ogre::SkeletonPtr::SkeletonPtr const SkeletonPtr r  ) 
 

Definition at line 461 of file OgreSkeleton.h.

Ogre::SkeletonPtr::SkeletonPtr const ResourcePtr r  ) 
 

Definition at line 462 of file OgreSkeleton.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< Skeleton >::bind Skeleton 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.

References Ogre::SharedPtr< T >::freeMethod(), Ogre::MEMCATEGORY_GENERAL, OGRE_LOCK_AUTO_SHARED_MUTEX, OGRE_NEW_AUTO_SHARED_MUTEX, OGRE_NEW_T, Ogre::SharedPtr< T >::pRep, Ogre::SharedPtr< T >::pUseCount, and Ogre::SharedPtr< T >::useFreeMethod.

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

Definition at line 215 of file OgreSharedPtr.h.

References Ogre::MEMCATEGORY_GENERAL, OGRE_DELETE, OGRE_DELETE_AUTO_SHARED_MUTEX, OGRE_DELETE_T, OGRE_FREE, Ogre::SharedPtr< T >::pRep, Ogre::SharedPtr< T >::pUseCount, Ogre::SPFM_DELETE, Ogre::SPFM_DELETE_T, Ogre::SPFM_FREE, and Ogre::SharedPtr< T >::useFreeMethod.

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

Definition at line 173 of file OgreSharedPtr.h.

References Ogre::SharedPtr< T >::useFreeMethod.

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

Definition at line 153 of file OgreSharedPtr.h.

References Ogre::SharedPtr< T >::pRep.

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

Definition at line 172 of file OgreSharedPtr.h.

References Ogre::SharedPtr< T >::pRep.

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

Definition at line 175 of file OgreSharedPtr.h.

References Ogre::SharedPtr< T >::pRep.

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

Definition at line 151 of file OgreSharedPtr.h.

References Ogre::SharedPtr< T >::pRep.

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

Definition at line 152 of file OgreSharedPtr.h.

References Ogre::SharedPtr< T >::pRep.

SkeletonPtr& Ogre::SkeletonPtr::operator= const ResourcePtr r  ) 
 

Operator used to convert a ResourcePtr to a SkeletonPtr.

Definition at line 479 of file OgreSkeleton.h.

References OGRE_COPY_AUTO_SHARED_MUTEX, OGRE_LOCK_MUTEX, and OGRE_MUTEX_CONDITIONAL.

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

Definition at line 189 of file OgreSharedPtr.h.

References Ogre::SharedPtr< T >::destroy(), OGRE_AUTO_MUTEX_NAME, OGRE_LOCK_AUTO_SHARED_MUTEX, OGRE_MUTEX_CONDITIONAL, OGRE_SET_AUTO_SHARED_MUTEX_NULL, and Ogre::SharedPtr< T >::pUseCount.

void Ogre::SharedPtr< Skeleton >::setNull void   )  [inherited]
 

Definition at line 177 of file OgreSharedPtr.h.

References Ogre::SharedPtr< T >::pRep, Ogre::SharedPtr< T >::pUseCount, and Ogre::SharedPtr< T >::release().

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

Definition at line 116 of file OgreSharedPtr.h.

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

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

Definition at line 85 of file OgreSharedPtr.h.

References OGRE_COPY_AUTO_SHARED_MUTEX, OGRE_LOCK_MUTEX, OGRE_MUTEX_CONDITIONAL, OGRE_SET_AUTO_SHARED_MUTEX_NULL, Ogre::SharedPtr< T >::pRep, Ogre::SharedPtr< T >::pUseCount, and Ogre::SharedPtr< T >::useFreeMethod.

Ogre::SharedPtr< Skeleton >::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.

References OGRE_NEW_AUTO_SHARED_MUTEX, and OGRE_SET_AUTO_SHARED_MUTEX_NULL.

OGRE_AUTO_SHARED_MUTEX Ogre::SharedPtr< Skeleton >::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.

References OGRE_SET_AUTO_SHARED_MUTEX_NULL.

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

Definition at line 239 of file OgreSharedPtr.h.

References OGRE_AUTO_MUTEX_NAME, Ogre::SharedPtr< T >::pRep, Ogre::SharedPtr< T >::pUseCount, and Ogre::SharedPtr< T >::useFreeMethod.

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

Definition at line 168 of file OgreSharedPtr.h.

References OGRE_LOCK_AUTO_SHARED_MUTEX, and Ogre::SharedPtr< T >::pUseCount.

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

Definition at line 169 of file OgreSharedPtr.h.

References OGRE_LOCK_AUTO_SHARED_MUTEX, and Ogre::SharedPtr< T >::pUseCount.

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

Definition at line 170 of file OgreSharedPtr.h.

References Ogre::SharedPtr< T >::pUseCount.


Member Data Documentation

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

Definition at line 58 of file OgreSharedPtr.h.

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

Definition at line 59 of file OgreSharedPtr.h.

SharedPtrFreeMethod Ogre::SharedPtr< Skeleton >::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:54:40 2009