LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
ModuleTypeDeducer.h
Go to the documentation of this file.
1 #ifndef art_Framework_Core_detail_ModuleTypeDeducer_h
2 #define art_Framework_Core_detail_ModuleTypeDeducer_h
3 
5 // ModuleTypeDeducer
6 //
7 // Used by ModuleMacros.h to ascertain the correct ModuleType for a
8 // module.
10 
12 
13 namespace art {
14  namespace detail {
15  // ModuleTypeDeducer.
16  template <typename T>
18  template <>
20  template <>
21  struct ModuleTypeDeducer<art::EDFilter>;
22  template <>
23  struct ModuleTypeDeducer<art::OutputModule>;
24  template <>
25  struct ModuleTypeDeducer<art::EDProducer>;
26  }
27 }
28 
29 template <typename T>
31  static constexpr ModuleType value = ModuleType::NON_ART;
32 };
33 
34 template <>
37 };
38 
39 template <>
41  static constexpr ModuleType value = ModuleType::FILTER;
42 };
43 
44 template <>
46  static constexpr ModuleType value = ModuleType::OUTPUT;
47 };
48 
49 template <>
52 };
53 #endif /* art_Framework_Core_detail_ModuleTypeDeducer_h */
54 
55 // Local Variables:
56 // mode: c++
57 // End:
static constexpr ModuleType value
HLT enums.
ModuleType
Definition: ModuleType.h:22