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

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

#include </scratch/z5/marcocle/lhcb-release/419/GAUDI/GAUDI_v26r1/InstallArea/x86_64-slc6-gcc48-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.

{
const FuncType c = Details::getCreator<FuncType>(id);
return c ? (*c)(std::forward<Args>(args)...) : 0;
}
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.

{
const FuncType c = Details::getCreator<FuncType>(id);
return c ? (*c)(std::forward<Args>(args)...) : 0;
}
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.

{
std::ostringstream o; o << id;
return create(o.str(), std::forward<Args>(args)...);
}
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.

{
std::ostringstream o; o << id;
return create(o.str(), std::forward<Args>(args)...);
}

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