11 #ifndef LARDATA_RECOBASEPROXY_PROXYBASE_COLLECTIONPROXYMAKER_H 12 #define LARDATA_RECOBASEPROXY_PROXYBASE_COLLECTIONPROXYMAKER_H 56 template <
typename Proxy,
typename Selector = Proxy>
83 template <
typename CollProxy>
117 template <
typename Event,
typename... WithArgs>
143 template <
typename CollProxy>
155 template <
typename T>
171 template <
typename MainColl>
237 template <
typename Traits,
typename,
typename... Args>
242 template <
typename Traits,
typename... Args>
245 std::enable_if_t<util::always_true_v
246 <typename Traits::template collection_proxy_impl_t<Args...>>
251 using type =
typename Traits::template collection_proxy_impl_t<Args...>;
256 template <
typename Traits,
typename... Args>
262 template <
typename Traits,
typename... Args>
264 using collection_proxy_impl_t
266 return collection_proxy_impl_t(std::forward<Args>(
args)...);
278 template <
typename CollProxy>
279 template <
typename Event,
typename... WithArgs>
283 auto mainHandle =
event.template getValidHandle<main_collection_t>(tag);
288 return details::createCollectionProxyFromTraits<traits_t>(
290 withArgs.template createAuxProxyMaker<main_collection_proxy_t>
291 (
event, mainHandle, tag)...
300 #endif // LARDATA_RECOBASEPROXY_PROXYBASE_COLLECTIONPROXYMAKER_H auto createCollectionProxyFromTraits(Args &&...args)
Collection of data type definitions for collection proxies.
MainColl main_collection_t
Type of the original collection.
Class to assemble the required proxy.
typename details::TemplateAdaptorOnePlus< CollectionProxy, Args... >::type CollectionProxyFromArgs
util::collection_value_t< MainColl > main_element_t
Type of the elements in the original collection.
Define the traits of proxy::Tracks proxy.
typename traits_t::main_element_t main_element_t
Type returned by the main collection indexing operator.
typename traits_t::main_collection_proxy_t main_collection_proxy_t
Type of main collection proxy.
Base representation of a collection of proxied objects.
Wrapper for the main collection of a proxy.
typename main_collection_proxy_t::main_collection_t main_collection_t
Type of element of the main collection.
static auto make(Event const &event, art::InputTag const &tag, WithArgs &&...withArgs)
Creates and returns a collection proxy based on CollProxy and with the requested associated data...
Utilities for the collection proxy object.
Class to assemble the required proxy.
A std::true_type with a template argument.
util::collection_value_t< main_collection_t > main_element_t
Type returned by the main collection indexing operator.
std::vector< T > main_collection_t
Type of element of the main collection.
typename traits_t::main_collection_t main_collection_t
Type of element of the main collection.
typename main_collection_proxy_t::main_element_t main_element_t
Type returned by the main collection indexing operator.
typename CollectionProxyImplFromTraitsImpl< Traits, void, Args... >::type CollectionProxyImplFromTraits_t
Event finding and building.