20 #ifndef COREUTILS_SERVICEPROVIDERWRAPPERS_H 21 #define COREUTILS_SERVICEPROVIDERWRAPPERS_H 1 25 #include "CoreUtils/ServiceUtil.h" 37 namespace art {
class ActivityRegistry; }
38 namespace fhicl {
class ParameterSet; }
91 template <
class PROVIDER>
104 : prov(std::make_unique<provider_type>(
config()))
114 std::unique_ptr<provider_type>
prov;
135 template <
class PROVIDER>
240 template <
typename PROVIDER,
typename INTERFACE>
261 : prov(std::make_unique<concrete_provider_type>(
config()))
266 std::unique_ptr<concrete_provider_type>
prov;
270 {
return prov.get(); }
278 #endif // COREUTILS_SERVICEPROVIDERWRAPPERS_H PROVIDER provider_type
type of the service provider
PROVIDER concrete_provider_type
type of service provider implementation
std::unique_ptr< concrete_provider_type > prov
service provider
std::unique_ptr< provider_type > prov
service provider
provider_type const * provider() const
Returns a constant pointer to the service provider.
Service returning a provider.
Service returning a provider interface.
INTERFACE service_interface_type
art service interface class
virtual provider_type const * do_provider() const override
Returns a constant pointer to the service provider.
Service implementation returning a provider.
provider_type const * provider() const
Returns a constant pointer to the service provider interface.
typename service_interface_type::provider_type provider_type
type of service provider interface
General GArSoft Utilities.
PROVIDER provider_type
type of the service provider