# Ogre::FactoryObj< T > Class Template Reference

Abstract factory class. More...

`#include <OgreFactoryObj.h>`

Inheritance diagram for Ogre::FactoryObj< T >:
[legend]

List of all members.

## Public Member Functions

virtual | ~FactoryObj ()
virtual const String & | getType () const =0
| Returns the factory type.
virtual T * | createInstance (const String &name)=0
| Creates a new object.
virtual void | destroyInstance (T *)=0
| Destroys an object which was created by this factory.

## Detailed Description

### template<typename T>
class Ogre::FactoryObj< T >

Abstract factory class.

Does nothing by itself, but derived classes can add functionality.

Definition at line 39 of file OgreFactoryObj.h.

## Constructor & Destructor Documentation

template<typename T>

virtual Ogre::FactoryObj< T >::~FactoryObj | ( |  | ) | `[virtual]`

Definition at line 42 of file OgreFactoryObj.h.

## Member Function Documentation

template<typename T>

virtual const String& Ogre::FactoryObj< T >::getType | ( |  | ) | const`[pure virtual]`

Returns the factory type.

Returns:
  The factory type.

Implemented in Ogre::BillboardParticleRendererFactory, Ogre::FileSystemArchiveFactory, and Ogre::ZipArchiveFactory.

template<typename T>

virtual T* Ogre::FactoryObj< T >::createInstance | ( | const String & | name | ) | `[pure virtual]`

Creates a new object.

Parameters:

  | name | Name of the object to create

Returns:
  An object created by the factory. The type of the object depends on the factory.

Implemented in Ogre::BillboardParticleRendererFactory, Ogre::FileSystemArchiveFactory, and Ogre::ZipArchiveFactory.

template<typename T>

virtual void Ogre::FactoryObj< T >::destroyInstance | ( | T * |  | ) | `[pure virtual]`

Destroys an object which was created by this factory.

Parameters:

  | ptr | Pointer to the object to destroy

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

- OgreFactoryObj.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat May 10 16:25:48 2008