LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
system_service_macros.h
Go to the documentation of this file.
1
#ifndef art_Framework_Services_Registry_detail_system_service_macros_h
2
#define art_Framework_Services_Registry_detail_system_service_macros_h
3
4
#include "
art/Framework/Services/Registry/detail/ServiceHelper.h
"
5
#include "
art/Framework/Services/Registry/detail/service_helper_macros.h
"
6
7
// System service macros.
8
9
// System services require support code in Event Processor since they
10
// have no maker function.
11
12
#define DECLARE_ART_SYSTEM_SERVICE(svc, scope) \
13
namespace art::detail { \
14
template <> \
15
struct ServiceHelper<svc> : public ServiceImplHelper, \
16
public ServiceLGRHelper { \
17
DEFINE_ART_SERVICE_TYPEID(svc) \
18
DEFINE_ART_SERVICE_SCOPE(scope) \
19
bool \
20
is_interface_impl() const override \
21
{ \
22
return false; \
23
} \
24
DEFINE_ART_SERVICE_RETRIEVER(svc) \
25
}; \
26
}
27
28
// Note that it makes very little sense to have a system service
29
// implementing an interface since it has to be constructed and
30
// added to the service cache list with no way to define the maker
31
// and converter functions. One could conceivably do a second add
32
// for the interface, but one would have to add interface to
33
// ServicesManager (and ServicesManager::Cache). If we ever need it,
34
// it should be relatively trivial.
35
36
#endif
/* art_Framework_Services_Registry_detail_system_service_macros_h */
37
38
// Local Variables:
39
// mode: c++
40
// End:
service_helper_macros.h
ServiceHelper.h
art
Framework
Services
Registry
detail
system_service_macros.h
Generated on Thu May 2 2024 20:59:30 for LArSoft by
1.8.11