All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Typedefs | Functions
ServiceUtil.h File Reference

Utilities related to art service access. More...

#include "larcorealg/CoreUtils/UncopiableAndUnmovableClass.h"
#include "larcorealg/CoreUtils/ProviderPack.h"
#include "art/Framework/Services/Registry/ServiceHandle.h"
#include "canvas/Utilities/Exception.h"
#include "cetlib_except/demangle.h"
#include <type_traits>
#include <typeinfo>

Go to the source code of this file.

Classes

struct  lar::details::ServiceRequirementsChecker< PROVIDER >
 
struct  lar::details::ProviderPackExtractor< Services >
 
struct  lar::details::ServiceProviderRequirementsChecker< PROVIDER >
 Compiles only if PROVIDER class satisfied service provider requirements. More...
 
struct  lar::details::ServiceRequirementsChecker< PROVIDER >
 
struct  lar::details::ProviderPackExtractor< First, Others...>
 
struct  lar::details::ProviderPackExtractor< Service >
 

Namespaces

 lar
 LArSoft-specific namespace.
 
 lar::details
 Namespace hiding implementation details.
 

Typedefs

template<typename... Services>
using lar::providersFrom_t = lar::ProviderPack< typename Services::provider_type...>
 Type of a provider pack with a provider from each of the Services. More...
 

Functions

template<typename T >
T::provider_type const * lar::providerFrom ()
 Returns a constant pointer to the provider of specified service. More...
 
template<typename... Services>
auto lar::providersFrom ()
 Returns a lar::ProviderPack with providers from all services. More...
 

Detailed Description

Utilities related to art service access.

Author
Jonathan Paley (jpale.nosp@m.y@fn.nosp@m.al.go.nosp@m.v), Gianluca Petrillo (petri.nosp@m.llo@.nosp@m.fnal..nosp@m.gov)

This library is currently a pure header. It provides:

Definition in file ServiceUtil.h.