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... | |
Utilities related to art service access.
This library is currently a pure header. It provides:
Definition in file ServiceUtil.h.