OGRE  1.9
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::ResourceManager::ResourcePool Class Reference

Definition of a pool of resources, which users can use to reuse similar resources many times without destroying and recreating them. More...

#include <OgreResourceManager.h>

+ Inheritance diagram for Ogre::ResourceManager::ResourcePool:
+ Collaboration diagram for Ogre::ResourceManager::ResourcePool:

Public Member Functions

 ResourcePool (const String &name)
 
 ~ResourcePool ()
 
virtual void addItem (const ResourcePtr &i)
 Add a new item to the pool. More...
 
void clear ()
 Clear the pool. More...
 
const StringgetName () const
 Get the name of the pool. More...
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info More...
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *ptr)
 placement operator new More...
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info More...
 
void * operator new[] (size_t sz)
 
virtual std::pair< bool,
ResourcePtr
removeItem ()
 Get the next item from the pool. More...
 

Protected Types

typedef list< ResourcePtr >::type ItemList
 

Protected Attributes

ItemList mItems
 
String mName
 
 OGRE_AUTO_MUTEX
 

Detailed Description

Definition of a pool of resources, which users can use to reuse similar resources many times without destroying and recreating them.

Remarks
This is a simple utility class which allows the reuse of resources between code which has a changing need for them. For example,

Definition at line 478 of file OgreResourceManager.h.

Member Typedef Documentation

typedef list<ResourcePtr >::type Ogre::Pool< ResourcePtr >::ItemList
protectedinherited

Definition at line 50 of file OgreResourceManager.h.

Constructor & Destructor Documentation

Ogre::ResourceManager::ResourcePool::ResourcePool ( const String name)
Ogre::ResourceManager::ResourcePool::~ResourcePool ( )

Member Function Documentation

virtual void Ogre::Pool< ResourcePtr >::addItem ( const ResourcePtr i)
inlinevirtualinherited

Add a new item to the pool.

Definition at line 79 of file OgreResourceManager.h.

References Ogre::Pool< T >::mItems, and OGRE_LOCK_AUTO_MUTEX.

void Ogre::ResourceManager::ResourcePool::clear ( void  )
virtual

Clear the pool.

Reimplemented from Ogre::Pool< ResourcePtr >.

const String& Ogre::ResourceManager::ResourcePool::getName ( ) const

Get the name of the pool.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inlineinherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr)
inlineinherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inlineinherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz)
inlineinherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

virtual std::pair<bool, ResourcePtr > Ogre::Pool< ResourcePtr >::removeItem ( )
inlinevirtualinherited

Get the next item from the pool.

Returns
pair indicating whether there was a free item, and the item if so

Definition at line 60 of file OgreResourceManager.h.

References Ogre::Pool< T >::mItems, and OGRE_LOCK_AUTO_MUTEX.

Member Data Documentation

ItemList Ogre::Pool< ResourcePtr >::mItems
protectedinherited

Definition at line 51 of file OgreResourceManager.h.

String Ogre::ResourceManager::ResourcePool::mName
protected

Definition at line 481 of file OgreResourceManager.h.

Ogre::Pool< ResourcePtr >::OGRE_AUTO_MUTEX
protectedinherited

Definition at line 52 of file OgreResourceManager.h.


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