All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Gaudi::PluginService::Factory3< R, A1, A2, A3 > Class Template Reference

Class wrapping the signature for a factory with 3 arguments. More...

#include <Gaudi/PluginService.h>

Public Types

typedef R ReturnType
 
typedef A1 Arg1Type
 
typedef A2 Arg2Type
 
typedef A3 Arg3Type
 
typedef R(* FuncType )(Arg1Type, Arg2Type, Arg3Type)
 

Static Public Member Functions

static ReturnType create (const std::string &id, Arg1Type a1, Arg2Type a2, Arg3Type a3)
 
template<typename T >
static ReturnType create (const T &id, Arg1Type a1, Arg2Type a2, Arg3Type a3)
 

Detailed Description

template<typename R, typename A1, typename A2, typename A3>
class Gaudi::PluginService::Factory3< R, A1, A2, A3 >

Class wrapping the signature for a factory with 3 arguments.

Definition at line 111 of file PluginService.h.

Member Typedef Documentation

template<typename R , typename A1 , typename A2 , typename A3 >
typedef A1 Gaudi::PluginService::Factory3< R, A1, A2, A3 >::Arg1Type

Definition at line 114 of file PluginService.h.

template<typename R , typename A1 , typename A2 , typename A3 >
typedef A2 Gaudi::PluginService::Factory3< R, A1, A2, A3 >::Arg2Type

Definition at line 115 of file PluginService.h.

template<typename R , typename A1 , typename A2 , typename A3 >
typedef A3 Gaudi::PluginService::Factory3< R, A1, A2, A3 >::Arg3Type

Definition at line 116 of file PluginService.h.

template<typename R , typename A1 , typename A2 , typename A3 >
typedef R(* Gaudi::PluginService::Factory3< R, A1, A2, A3 >::FuncType)(Arg1Type, Arg2Type, Arg3Type)

Definition at line 117 of file PluginService.h.

template<typename R , typename A1 , typename A2 , typename A3 >
typedef R Gaudi::PluginService::Factory3< R, A1, A2, A3 >::ReturnType

Definition at line 113 of file PluginService.h.

Member Function Documentation

template<typename R , typename A1 , typename A2 , typename A3 >
static ReturnType Gaudi::PluginService::Factory3< R, A1, A2, A3 >::create ( const std::string &  id,
Arg1Type  a1,
Arg2Type  a2,
Arg3Type  a3 
)
inlinestatic

Definition at line 119 of file PluginService.h.

122  {
123  const FuncType c = Details::getCreator<FuncType>(id);
124  return c ? (*c)(a1, a2, a3) : 0;
125  }
R(* FuncType)(Arg1Type, Arg2Type, Arg3Type)
tuple c
Definition: gaudirun.py:341
template<typename R , typename A1 , typename A2 , typename A3 >
template<typename T >
static ReturnType Gaudi::PluginService::Factory3< R, A1, A2, A3 >::create ( const T &  id,
Arg1Type  a1,
Arg2Type  a2,
Arg3Type  a3 
)
inlinestatic

Definition at line 128 of file PluginService.h.

131  {
132  std::ostringstream o; o << id;
133  return create(o.str(), a1, a2, a3);
134  }
static ReturnType create(const std::string &id, Arg1Type a1, Arg2Type a2, Arg3Type a3)

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