1 #ifndef art_Utilities_SharedResource_h 2 #define art_Utilities_SharedResource_h 4 #include "hep_concurrency/SerialTaskQueue.h" 12 #include <tbb/task_group.h> 35 void registerSharedResources(std::set<std::string>
const& names);
37 void freeze(tbb::task_group& group);
39 using queue_ptr_t = std::shared_ptr<hep::concurrency::SerialTaskQueue>;
40 std::vector<queue_ptr_t> createQueues(
41 std::vector<std::string>
const& resourceNames)
const;
44 void register_resource(std::string
const&
name);
45 void ensure_not_frozen(std::string
const&
name);
std::map< std::string, unsigned > resourceCounts_
std::string demangle(T const *=nullptr)
Outputs a demangled name for type T.
std::shared_ptr< hep::concurrency::SerialTaskQueue > queue_ptr_t
std::vector< std::pair< std::string, queue_ptr_t > > sortedResources_
SharedResource_t const LegacyResource
SharedResource_t(std::string const &name, bool demangle)
detail::SharedResource_t SharedResource