LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
ServiceWrapperBase.h
Go to the documentation of this file.
1 #ifndef art_Framework_Services_Registry_detail_ServiceWrapperBase_h
2 #define art_Framework_Services_Registry_detail_ServiceWrapperBase_h
3 // vim: set sw=2 expandtab :
4 
6 
7 #include <memory>
8 
9 namespace art {
10  class ModuleDescription;
11  class ProducingServiceSignals;
12  namespace detail {
13 
15  public:
16  virtual ~ServiceWrapperBase() = default;
17  explicit ServiceWrapperBase() = default;
18 
19  ServiceWrapperBase(ServiceWrapperBase const&) = delete;
23 
26  ModuleDescription const&) = 0;
27  };
28 
29  using WrapperBase_ptr = std::shared_ptr<ServiceWrapperBase>;
30 
31  } // namespace detail
32 } // namespace art
33 
34 #endif /* art_Framework_Services_Registry_detail_ServiceWrapperBase_h */
35 
36 // Local Variables:
37 // mode: c++
38 // End:
virtual ~ServiceWrapperBase()=default
std::vector< BranchDescription > ProductDescriptions
ServiceWrapperBase & operator=(ServiceWrapperBase const &)=delete
virtual void registerProducts(ProductDescriptions &, ProducingServiceSignals &, ModuleDescription const &)=0
std::shared_ptr< ServiceWrapperBase > WrapperBase_ptr
Definition: MVAAlg.h:12