1 #ifndef art_Framework_Core_detail_SharedModule_h 2 #define art_Framework_Core_detail_SharedModule_h 7 #include "hep_concurrency/SerialTaskQueueChain.h" 12 #include <type_traits> 15 class SharedResources;
34 template <BranchType BT = InEvent>
40 "async is currently supported only for the 'InEvent' level.");
48 template <
typename...
T>
53 std::conjunction_v<std::is_same<detail::SharedResource_t, T>...>);
54 if (
sizeof...(t) == 0) {
61 template <
typename...
T>
65 static_assert(std::conjunction_v<std::is_same<std::string, T>...>);
66 if (
sizeof...(t) == 0) {
76 std::unique_ptr<hep::concurrency::SerialTaskQueueChain>
chain_{
nullptr};
std::set< std::string > resourceNames_
void serialize_for(std::string const &name)
std::set< std::string > const & sharedResources() const
void serializeExternal(T const &...)
std::unique_ptr< hep::concurrency::SerialTaskQueueChain > chain_
void serialize_for_resource(T const &...t)
void createQueues(SharedResources const &resources)
void serialize(T const &...)
void serialize_for_external_resource(T const &...t)
hep::concurrency::SerialTaskQueueChain * serialTaskQueueChain() const
void implicit_serialize()