11 #ifndef LARDATA_RECOBASEPROXY_PROXYBASE_WITHASSOCIATEDSTRUCTBASE_H    12 #define LARDATA_RECOBASEPROXY_PROXYBASE_WITHASSOCIATEDSTRUCTBASE_H    68       template <
typename CollProxy> 
class ProxyMaker,
    74       template <
typename CollProxy>
    75       using main_t = 
typename CollProxy::main_element_t;
    87       template <
typename CollProxy>
    93       template <
typename CollProxy>
   103         <
typename CollProxy, 
typename Event, 
typename Handle, 
typename MainArgs>
   105         (Event 
const& 
event, Handle&& mainHandle, MainArgs 
const& mainArgs)
   107           return createAssnProxyMaker<CollProxy>(
   108             event, std::forward<Handle>(mainHandle), mainArgs,
   109             std::make_index_sequence<NArgs>()
   119       static constexpr std::size_t 
NArgs = std::tuple_size<ArgTuple>();
   123         typename CollProxy, 
typename Event, 
typename Handle, 
typename MainArgs,
   127         Event 
const& event, Handle&& mainHandle, MainArgs 
const& mainArgs,
   128         std::index_sequence<I...>
   132             event, mainHandle, mainArgs,
   133             std::get<I>(std::forward<ArgTuple>(args))...
   147 #endif // LARDATA_RECOBASEPROXY_PROXYBASE_WITHASSOCIATEDSTRUCTBASE_H ProxyMaker< CollProxy > proxy_maker_t
Class to create the data proxy associated to a CollProxy. 
 
typename proxy_maker_t< CollProxy >::aux_collection_proxy_t aux_collection_proxy_t
Type of association proxy created for the specified CollProxy. 
 
Helper to create associated data proxy. 
 
Aux aux_t
Type of associated data. 
 
ArgTuple args
Argument construction storage as tuple. 
 
static constexpr std::size_t NArgs
Number of arguments stored. 
 
Metadata metadata_t
Type of associated metadata. 
 
typename CollProxy::main_element_t main_t
Type of main data product element from a proxy of type CollProxy. 
 
WithAssociatedStructBase(ArgTuple &&args)
 
auto createAuxProxyMaker(Event const &event, Handle &&mainHandle, MainArgs const &mainArgs)
Creates the associated data proxy by means of ProxyMaker. 
 
auto createAssnProxyMaker(Event const &event, Handle &&mainHandle, MainArgs const &mainArgs, std::index_sequence< I... >)
 
Event finding and building.