CMS 3D CMS Logo

IgPluginFactoryImpl< Proto > Class Template Reference

#include <Iguana/Framework/interface/IgPluginFactory.h>

Inheritance diagram for IgPluginFactoryImpl< Proto >:

IgPluginFactoryImplBase< IgPluginFactoryImplTypes< Proto > > IgPluginFactoryBase

List of all members.

Public Types

typedef Types::Factory Factory
 The basic factory type.
typedef Types::Info Info
 The info type.
typedef Types::Object Object
 The object we create.
typedef
IgPluginFactoryImplTypes
< Proto > 
Types
 Alias type definition helper for more convenient access.

Public Member Functions

 IgPluginFactoryImpl (const std::string &name)
virtual void installFactory (IgModuleDef *def, std::string name, Factory *factory)


Detailed Description

template<class Proto>
class IgPluginFactoryImpl< Proto >

Definition at line 332 of file IgPluginFactory.h.


Member Typedef Documentation

template<class Proto>
typedef Types::Factory IgPluginFactoryImpl< Proto >::Factory

The basic factory type.

Definition at line 343 of file IgPluginFactory.h.

template<class Proto>
typedef Types::Info IgPluginFactoryImpl< Proto >::Info

The info type.

Reimplemented from IgPluginFactoryImplBase< IgPluginFactoryImplTypes< Proto > >.

Definition at line 346 of file IgPluginFactory.h.

template<class Proto>
typedef Types::Object IgPluginFactoryImpl< Proto >::Object

The object we create.

Definition at line 340 of file IgPluginFactory.h.

template<class Proto>
typedef IgPluginFactoryImplTypes<Proto> IgPluginFactoryImpl< Proto >::Types

Alias type definition helper for more convenient access.

Definition at line 337 of file IgPluginFactory.h.


Constructor & Destructor Documentation

template<class Proto>
IgPluginFactoryImpl< Proto >::IgPluginFactoryImpl ( const std::string &  name  )  [inline]

Definition at line 604 of file IgPluginFactory.h.


Member Function Documentation

template<class Proto>
void IgPluginFactoryImpl< Proto >::installFactory ( IgModuleDef def,
std::string  name,
Factory factory 
) [inline, virtual]

Definition at line 610 of file IgPluginFactory.h.

References ASSERT, IgPluginFactoryImplBase< IgPluginFactoryImplTypes< Proto > >::info(), and IgModuleDef::module().

00613 {
00614     ASSERT (def);
00615 
00616     Info *info = this->info (name);
00617 
00618     ASSERT (info);
00619     ASSERT (info->module ());
00620     ASSERT (info->module () == def->module ());
00621     ASSERT (! info->name ().empty ());
00622     ASSERT (info->name () == name);
00623     ASSERT (factory);
00624 
00625     info->attach (factory);
00626 }


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:25:20 2009 for CMSSW by  doxygen 1.5.4