![]() |
LArSoft
v09_93_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Helper to create associated data proxy. More...
#include "WithAssociatedStructBase.h"
Public Types | |
| template<typename CollProxy > | |
| using | aux_collection_proxy_t = typename proxy_maker_t< CollProxy >::aux_collection_proxy_t |
Type of association proxy created for the specified CollProxy. More... | |
Public Member Functions | |
| WithAssociatedStructBase (ArgTuple &&args) | |
| template<typename CollProxy , typename Event , typename Handle , typename MainArgs > | |
| auto | createAuxProxyMaker (Event const &event, Handle &&mainHandle, MainArgs const &mainArgs) |
Creates the associated data proxy by means of ProxyMaker. More... | |
Protected Member Functions | |
| template<typename CollProxy , typename Event , typename Handle , typename MainArgs , std::size_t... I> | |
| auto | createAssnProxyMaker (Event const &event, Handle &&mainHandle, MainArgs const &mainArgs, std::index_sequence< I... >) |
Protected Attributes | |
| ArgTuple | args |
| Argument construction storage as tuple. More... | |
Static Protected Attributes | |
| static constexpr std::size_t | NArgs = std::tuple_size<ArgTuple>() |
| Number of arguments stored. More... | |
Private Types | |
| template<typename CollProxy > | |
| using | main_t = typename CollProxy::main_element_t |
Type of main data product element from a proxy of type CollProxy. More... | |
| using | aux_t = Aux |
| Type of associated data. More... | |
| using | metadata_t = Metadata |
| Type of associated metadata. More... | |
| using | tag = AuxTag |
| Tag for the associated data (same as the data type itself). More... | |
| template<typename CollProxy > | |
| using | proxy_maker_t = ProxyMaker< CollProxy > |
Class to create the data proxy associated to a CollProxy. More... | |
Helper to create associated data proxy.
| Aux | type of data associated to the main one |
| Metadata | type of metadata of the association |
| ArgTuple | type of arguments required for the creation of proxy |
| ProxyMaker | template type of the proxy maker class |
| AuxTag | tag for the associated data (default: as Aux) |
This class stores user arguments for the construction of a proxy to associated data of type Aux. It can use that information plus some additional one to create the associated data itself. This additional information is provided by getCollection().
The association will be identified by type AuxTag.
This is not a customization point: to have a custom associated data produced, choose and then specialize the ProxyMaker class.
Definition at line 68 of file WithAssociatedStructBase.h.
| using proxy::details::WithAssociatedStructBase< Aux, Metadata, ArgTuple, ProxyMaker, AuxTag >::aux_collection_proxy_t = typename proxy_maker_t<CollProxy>::aux_collection_proxy_t |
Type of association proxy created for the specified CollProxy.
Definition at line 90 of file WithAssociatedStructBase.h.
|
private |
Type of associated data.
Definition at line 75 of file WithAssociatedStructBase.h.
|
private |
Type of main data product element from a proxy of type CollProxy.
Definition at line 72 of file WithAssociatedStructBase.h.
|
private |
Type of associated metadata.
Definition at line 78 of file WithAssociatedStructBase.h.
|
private |
Class to create the data proxy associated to a CollProxy.
Definition at line 85 of file WithAssociatedStructBase.h.
|
private |
Tag for the associated data (same as the data type itself).
Definition at line 81 of file WithAssociatedStructBase.h.
|
inline |
Constructor: steals the arguments, to be used by createAuxProxyMaker().
Definition at line 94 of file WithAssociatedStructBase.h.
|
inlineprotected |
Definition at line 116 of file WithAssociatedStructBase.h.
References art::InputSourceFactory::make().
|
inline |
Creates the associated data proxy by means of ProxyMaker.
Definition at line 98 of file WithAssociatedStructBase.h.
|
protected |
Argument construction storage as tuple.
Definition at line 105 of file WithAssociatedStructBase.h.
|
staticprotected |
Number of arguments stored.
Definition at line 108 of file WithAssociatedStructBase.h.