Public Types | Static Public Member Functions | List of all members
art::detail::tool_type< T, std::enable_if_t< std::is_function< T >::value > > Struct Template Reference

#include "/cvmfs/nova.opensciencegrid.org/externals/art/v2_13_00/source/art/Utilities/detail/tool_type.h"

Public Types

using return_type = std::function< T >
 

Static Public Member Functions

static auto make_plugin (cet::BasicPluginFactory &factory, std::string const &libspec, fhicl::ParameterSet const &, std::string const &function_plugin_type)
 

Detailed Description

template<typename T>
struct art::detail::tool_type< T, std::enable_if_t< std::is_function< T >::value > >

Definition at line 36 of file tool_type.h.

Member Typedef Documentation

template<typename T >
using art::detail::tool_type< T, std::enable_if_t< std::is_function< T >::value > >::return_type = std::function<T>

Definition at line 37 of file tool_type.h.

Member Function Documentation

template<typename T >
static auto art::detail::tool_type< T, std::enable_if_t< std::is_function< T >::value > >::make_plugin ( cet::BasicPluginFactory factory,
std::string const &  libspec,
fhicl::ParameterSet const &  ,
std::string const &  function_plugin_type 
)
inlinestatic

Definition at line 40 of file tool_type.h.

References art::errors::Configuration, cet::BasicPluginFactory::makePlugin(), cet::BasicPluginFactory::pluginType(), and T.

44  {
45  auto const pluginType = factory.pluginType(libspec);
46  return pluginType == function_plugin_type ?
47  factory.makePlugin<T>(libspec) :
49  "tool_type::make_plugin: ")
50  << "Unrecognized function-tool type \""
51  << function_plugin_type << "\" for plugin \"" << libspec
52  << "\".\n"
53  << "Allowed function-tool type for above plugin is: \""
54  << pluginType << "\".\n";
55  }
std::string pluginType(std::string const &libspec)
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
std::enable_if_t<!std::is_function< RESULT_TYPE >::value, RESULT_TYPE > makePlugin(std::string const &libspec, ARGS &&...args)
double T
Definition: Xdiff_gwt.C:5

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