Public Types | Public Member Functions | Protected Member Functions | List of all members
gar::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 gar::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 GArSoft service provider interface.

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

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

Definition at line 136 of file ServiceProviderWrappers.h.

Member Typedef Documentation

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

type of the service provider

Definition at line 139 of file ServiceProviderWrappers.h.

Constructor & Destructor Documentation

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

Virtual destructor.

Member Function Documentation

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

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

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

Returns a constant pointer to the service provider interface.

Definition at line 146 of file ServiceProviderWrappers.h.

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