All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Member Functions | List of all members
lar::ServiceProviderInterfaceWrapper< PROVIDER > Class Template Referenceabstract

Service returning a provider interface. More...

#include <ServiceProviderWrappers.h>

Inheritance diagram for lar::ServiceProviderInterfaceWrapper< PROVIDER >:
lar::example::ShowerCalibrationGaloreScaleService

Public Types

using provider_type = PROVIDER
 type of the service provider More...
 

Public Member Functions

virtual ~ServiceProviderInterfaceWrapper ()=default
 Virtual destructor. More...
 
provider_type const * provider () const
 Returns a constant pointer to the service provider interface. More...
 

Protected Member Functions

virtual provider_type const * do_provider () const =0
 Implementation of the provider() function, to be overridden. More...
 

Detailed Description

template<class PROVIDER>
class lar::ServiceProviderInterfaceWrapper< PROVIDER >

Service returning a provider interface.


Template Parameters
PROVIDERtype of service provider interface to be returned
See Also
ServiceProviderImplementationWrapper

This class provides a art service to wrap a LArSoft service provider interface.

The behaviour of the implementations is not constrained by this interface. It only adds support for lar::providerFrom() function.

Implementations must override do_provider() to return a pointer which provider() will forward to the caller.

Definition at line 132 of file ServiceProviderWrappers.h.

Member Typedef Documentation

template<class PROVIDER >
using lar::ServiceProviderInterfaceWrapper< PROVIDER >::provider_type = PROVIDER

type of the service provider

Definition at line 135 of file ServiceProviderWrappers.h.

Constructor & Destructor Documentation

template<class PROVIDER >
virtual lar::ServiceProviderInterfaceWrapper< PROVIDER >::~ServiceProviderInterfaceWrapper ( )
virtualdefault

Virtual destructor.

Member Function Documentation

template<class PROVIDER >
virtual provider_type const* lar::ServiceProviderInterfaceWrapper< PROVIDER >::do_provider ( ) const
protectedpure virtual

Implementation of the provider() function, to be overridden.

Implemented in lar::example::ShowerCalibrationGaloreScaleService.

template<class PROVIDER >
provider_type const* lar::ServiceProviderInterfaceWrapper< PROVIDER >::provider ( ) const
inline

Returns a constant pointer to the service provider interface.

Definition at line 142 of file ServiceProviderWrappers.h.

142 { return do_provider(); }
virtual provider_type const * do_provider() const =0
Implementation of the provider() function, to be overridden.

The documentation for this class was generated from the following file: