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 <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 35 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 36 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 39 of file tool_type.h.

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

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