| # Gaudi Framework, version v21r11 |

Home |  | Generated: 30 Sep 2010

# IFactory Class Reference

The IFactory is the interface used to create contrete instances of Objectes. More...

`#include <GaudiKernel/IFactory.h>`

Inheritance diagram for IFactory:
[legend]
Collaboration diagram for IFactory:
[legend]

List of all members.

## Public Member Functions
| DeclareInterfaceID (IFactory, 2, 0)
| InterfaceID.
virtual IInterface * | instantiate (IInterface *parent) const =0
| Instantiate an instance of a Gaudi class.
virtual unsigned long | addRef () const =0
virtual unsigned long | release () const =0
virtual unsigned long | addRef ()=0
| Re-declaring these here avoids a compiler warning about hidden functions.
virtual unsigned long | release ()=0
| Release Interface instance.
virtual const std::string & | ident () const =0

## Detailed Description

The IFactory is the interface used to create contrete instances of Objectes.

It can be used to create Services, Algorithms, Converters, ...

Author:
  Pere Mato

Definition at line 17 of file IFactory.h.

## Member Function Documentation

IFactory::DeclareInterfaceID | ( | IFactory | ,
|  | 2 | ,
|  | 0 |  |
| ) |  |  |

InterfaceID.

virtual IInterface* IFactory::instantiate | ( | IInterface * | parent | ) | const`[pure virtual]`

Instantiate an instance of a Gaudi class.

virtual unsigned long IFactory::addRef | ( |  | ) | const`[pure virtual]`

virtual unsigned long IFactory::release | ( |  | ) | const`[pure virtual]`

virtual unsigned long IFactory::addRef | ( |  | ) | `[pure virtual]`

Re-declaring these here avoids a compiler warning about hidden functions.

Refer to ARM Page 210. Increment the reference count of Interface instance

Implements IInterface.

virtual unsigned long IFactory::release | ( |  | ) | `[pure virtual]`

Release Interface instance.

Implements IInterface.

virtual const std::string& IFactory::ident | ( |  | ) | const`[pure virtual]`

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v21r11/GaudiKernel/GaudiKernel/IFactory.h