LArSoft  v06_85_00
Liquid Argon Software toolkit - http://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 
5 // ServiceWrapperBase
6 //
7 // Base class through which the framework manages the lifetime of
8 // ServiceWrapper<T> objects.
9 //
11 
13 
14 #include <memory>
15 
16 namespace art {
17  namespace detail {
18  class ServiceWrapperBase;
19  using WrapperBase_ptr = std::shared_ptr<detail::ServiceWrapperBase>;
20  }
22  class ModuleDescription;
24 }
25 
27 public:
28  explicit ServiceWrapperBase() = default;
29 
30  // Noncopyable
31  ServiceWrapperBase(ServiceWrapperBase const&) = delete;
33 
37  ModuleDescription const&) = 0;
38 
39  virtual ~ServiceWrapperBase() = default;
40 
41 }; // ServiceWrapperBase
42 
43 #endif /* art_Framework_Services_Registry_detail_ServiceWrapperBase_h */
44 
45 // Local Variables:
46 // mode: c++
47 // End:
virtual ~ServiceWrapperBase()=default
std::vector< BranchDescription > ProductDescriptions
std::shared_ptr< detail::ServiceWrapperBase > WrapperBase_ptr
ServiceWrapperBase & operator=(ServiceWrapperBase const &)=delete
HLT enums.
virtual void registerProducts(MasterProductRegistry &, ProductDescriptions &, ProducingServiceSignals &, ModuleDescription const &)=0