Go to the documentation of this file. 1 #ifndef art_Framework_Services_Registry_detail_service_helper_macros_h 2 #define art_Framework_Services_Registry_detail_service_helper_macros_h 14 #define ART_DETAIL_STRINGIZED_VALUE(value) #value 15 #define ART_DETAIL_STRINGIZED_TYPE(svc) ART_DETAIL_STRINGIZED_VALUE(svc) 18 #define DEFINE_ART_SERVICE_TYPEID(svc) \ 19 art::TypeID get_typeid() const override { return TypeID{typeid(svc)}; } 24 #define DEFINE_ART_SERVICE_SCOPE(scopeArg) \ 25 ServiceScope scope() const override { return scope_val; } \ 26 static constexpr ServiceScope scope_val{ServiceScope::scopeArg}; 28 #define DEFINE_ART_SERVICE_RETRIEVER(svc) \ 29 void* retrieve(std::shared_ptr<ServiceWrapperBase>& swb) \ 30 const final override \ 32 return &std::dynamic_pointer_cast<ServiceWrapper<svc>>(swb)->get(); \