SimpleGL  1.1.0
A framework for platform independent rendering
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
sgl::Manager< T > Class Template Reference

This class provides an abstract class for managing objects. More...

#include <manager.hpp>

Public Member Functions

 ~Manager (void)
 Deletes a manager and disposes all managed objects. More...
 
void put (std::string name, T *value)
 Stores a object with specified name. More...
 
T * get (std::string name)
 Gets a managed object from the storage. More...
 
virtual void remove (std::string name)
 Removes and disposes an object from the storage. More...
 
virtual void clear ()
 Removes all objects and disposes them. More...
 

Protected Member Functions

 Manager (void)
 Initializes a new manager. More...
 

Protected Attributes

std::map< std::string, T * > objects
 Contains the objects to manage. More...
 

Detailed Description

template<class T>
class sgl::Manager< T >

This class provides an abstract class for managing objects.

Definition at line 24 of file manager.hpp.

Constructor & Destructor Documentation

template<class T >
sgl::Manager< T >::Manager ( void  )
protected

Initializes a new manager.

Definition at line 15 of file manager.tcc.

template<class T >
sgl::Manager< T >::~Manager ( void  )

Deletes a manager and disposes all managed objects.

Definition at line 20 of file manager.tcc.

Member Function Documentation

template<class T >
void sgl::Manager< T >::clear ( )
virtual

Removes all objects and disposes them.

Reimplemented in sgl::TextureImageManager, sgl::ShaderManager, sgl::TextureManager, and sgl::ShaderModuleManager.

Definition at line 47 of file manager.tcc.

template<class T >
T * sgl::Manager< T >::get ( std::string  name)

Gets a managed object from the storage.

Parameters
nameThe name of the object.
Returns
The stored object associated to specified name.

Definition at line 37 of file manager.tcc.

template<class T>
void sgl::Manager< T >::put ( std::string  name,
T *  value 
)

Stores a object with specified name.

Parameters
nameThe name for the object.
valueThe object to store.

Definition at line 26 of file manager.tcc.

template<class T >
void sgl::Manager< T >::remove ( std::string  name)
virtual

Removes and disposes an object from the storage.

Parameters
nameThe name of the object.

Reimplemented in sgl::TextureImageManager, sgl::ShaderManager, sgl::TextureManager, and sgl::ShaderModuleManager.

Definition at line 42 of file manager.tcc.

Member Data Documentation

template<class T>
std::map<std::string, T*> sgl::Manager< T >::objects
protected

Contains the objects to manage.

Definition at line 28 of file manager.hpp.


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