Gaudi::PluginService::Factory< R, Args > Class Template Reference

Class wrapping the signature for a factory with any number of arguments. More...

#include </tmp/marcocle/lhcb-release/1122/GAUDI/GAUDI_v27r0/InstallArea/x86_64-slc6-gcc49-opt/include/Gaudi/PluginService.h>

Public Types

typedef R ReturnType
 
typedef R(* FuncType) (Args &&...)
 
typedef R ReturnType
 
typedef R(* FuncType) (Args &&...)
 

Static Public Member Functions

static ReturnType create (const std::string &id, Args...args)
 
template<typename T >
static ReturnType create (const T &id, Args...args)
 
static ReturnType create (const std::string &id, Args...args)
 
template<typename T >
static ReturnType create (const T &id, Args...args)
 

Detailed Description

template<typename R, typename... Args>
class Gaudi::PluginService::Factory< R, Args >

Class wrapping the signature for a factory with any number of arguments.

Definition at line 47 of file PluginService.h.

Member Typedef Documentation

template<typename R , typename... Args>
typedef R(* Gaudi::PluginService::Factory< R, Args >::FuncType) (Args &&...)

Definition at line 50 of file PluginService.h.

template<typename R , typename... Args>
typedef R(* Gaudi::PluginService::Factory< R, Args >::FuncType) (Args &&...)

Definition at line 50 of file PluginService.h.

template<typename R , typename... Args>
typedef R Gaudi::PluginService::Factory< R, Args >::ReturnType

Definition at line 49 of file PluginService.h.

template<typename R , typename... Args>
typedef R Gaudi::PluginService::Factory< R, Args >::ReturnType

Definition at line 49 of file PluginService.h.

Member Function Documentation

template<typename R , typename... Args>
static ReturnType Gaudi::PluginService::Factory< R, Args >::create ( const std::string &  id,
Args...  args 
)
inlinestatic

Definition at line 52 of file PluginService.h.

52  {
53  const FuncType c = Details::getCreator<FuncType>(id);
54  return c ? (*c)(std::forward<Args>(args)...) : 0;
55  }
tuple c
Definition: gaudirun.py:391
list args
Definition: gaudirun.py:290
template<typename R , typename... Args>
static ReturnType Gaudi::PluginService::Factory< R, Args >::create ( const std::string &  id,
Args...  args 
)
inlinestatic

Definition at line 52 of file PluginService.h.

52  {
53  const FuncType c = Details::getCreator<FuncType>(id);
54  return c ? (*c)(std::forward<Args>(args)...) : 0;
55  }
tuple c
Definition: gaudirun.py:391
list args
Definition: gaudirun.py:290
template<typename R , typename... Args>
template<typename T >
static ReturnType Gaudi::PluginService::Factory< R, Args >::create ( const T &  id,
Args...  args 
)
inlinestatic

Definition at line 58 of file PluginService.h.

58  {
59  std::ostringstream o; o << id;
60  return create(o.str(), std::forward<Args>(args)...);
61  }
static ReturnType create(const std::string &id, Args...args)
Definition: PluginService.h:52
list args
Definition: gaudirun.py:290
template<typename R , typename... Args>
template<typename T >
static ReturnType Gaudi::PluginService::Factory< R, Args >::create ( const T &  id,
Args...  args 
)
inlinestatic

Definition at line 58 of file PluginService.h.

58  {
59  std::ostringstream o; o << id;
60  return create(o.str(), std::forward<Args>(args)...);
61  }
static ReturnType create(const std::string &id, Args...args)
Definition: PluginService.h:52
list args
Definition: gaudirun.py:290

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