LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
lar::ServiceProviderInterfaceWrapper< PROVIDER > Class Template Referenceabstract

Service returning a provider interface. More...

#include "ServiceProviderWrappers.h"

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 126 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 129 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.

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

Returns a constant pointer to the service provider interface.

Definition at line 135 of file ServiceProviderWrappers.h.

135 { 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: