Bug #18738

Updated by Kyle Knoepfel about 3 years ago

The class @art::PtrMaker@ (%{font-family: monospace}source:art/Persistency/Common/PtrMaker.h#L55%) was written with the idea of supporting the creation of pointers from "any" container data products. Its relevant constructor:<pre><code class="cpp">
//Creates a PtrMaker that creates Ptrs in to a collection of type C created by the module of type MODULETYPE, where the collection has instance name "instance"
template <class EVENT, class MODULETYPE, class C = std::vector<T>>
PtrMaker(EVENT const & evt, MODULETYPE const& module, std::string const& instance = std::string());</code></pre>sports a data type @C@ for the container data product itself.
But to my knowledge that template argument cannot can be explicitly specified in a call, and it's not automatically detected either. That makes it impossible to effectively use the intended feature.