LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
BasicPluginMacros.h
Go to the documentation of this file.
1
#ifndef art_Utilities_BasicPluginMacros_h
2
#define art_Utilities_BasicPluginMacros_h
3
// PluginMacros
5
//
6
// Define the macros DEFINE_BASIC_PLUGIN and a required component
7
// DEFINE_BASIC_PLUGIN_MAKER. These are intended for others to use for
8
// specific plugin types, like art::FileCatalogMetadataPlugin (see
9
// art/Framework/Core/FileCatalogMetadataPlugin.h).
10
//
11
// See also the definition of DEFINE_BASIC_PLUGINTYPE_FUNC in
12
// cetlib/PluginTypeDeducer.h.
13
//
15
16
#include "cetlib/PluginTypeDeducer.h"
17
#include "cetlib/compiler_macros.h"
18
#include "
fhiclcpp/ParameterSet.h
"
19
20
#include <memory>
21
#include <string>
22
23
#define DEFINE_BASIC_PLUGIN_MAKER(klass, base) \
24
EXTERN_C_FUNC_DECLARE_START \
25
std::unique_ptr<base> makePlugin(fhicl::ParameterSet const& pset) \
26
{ \
27
return std::make_unique<klass>(pset); \
28
} \
29
EXTERN_C_FUNC_DECLARE_END
30
31
#define DEFINE_BASIC_PLUGIN(klass, base) \
32
DEFINE_BASIC_PLUGIN_MAKER(klass, base) \
33
DEFINE_BASIC_PLUGINTYPE_FUNC(base)
34
35
#endif
/* art_Utilities_BasicPluginMacros_h */
36
37
// Local Variables:
38
// mode: c++
39
// End:
ParameterSet.h
art
Utilities
BasicPluginMacros.h
Generated on Thu May 2 2024 20:59:30 for LArSoft by
1.8.11