LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Object to draft parallel data interface. More...
#include "ParallelData.h"
Public Types | |
using | tag = Tag |
Tag of this association proxy. More... | |
using | auxiliary_data_t = decltype(util::makeTagged< tag >(std::declval< aux_element_t >())) |
Type returned when accessing auxiliary data. More... | |
Public Member Functions | |
ParallelData (parallel_data_t const &data) | |
Constructor: points to the specified data collection. More... | |
auto | begin () const -> decltype(auto) |
Returns an iterator pointing to the first data element. More... | |
auto | end () const -> decltype(auto) |
Returns an iterator pointing past the last data element. More... | |
auto | operator[] (std::size_t index) const -> decltype(auto) |
Returns the element with the specified index (no check performed). More... | |
parallel_data_t const * | data () const |
Returns a pointer to the whole data collection. More... | |
parallel_data_t const & | dataRef () const |
Returns a reference to the whole data collection. More... | |
Static Public Member Functions | |
template<typename TestTag > | |
static constexpr bool | hasTag () |
Returns whether this data is labeled with the specified tag. More... | |
Private Types | |
using | This_t = ParallelData< AuxColl, Aux, Tag > |
This type. More... | |
using | parallel_data_t = AuxColl |
Type of auxiliary collection. More... | |
using | aux_t = Aux |
Type of the value of auxiliary collection element. More... | |
using | aux_element_t = util::collection_value_constant_access_t< AuxColl > |
Type returned when accessing an auxiliary collection element. More... | |
using | parallel_data_iterator_t = typename parallel_data_t::const_iterator |
Private Member Functions | |
auto | getElement (std::size_t index) const -> decltype(auto) |
Private Attributes | |
parallel_data_t const * | fData |
Reference to the original data product. More... | |
Object to draft parallel data interface.
AuxColl | type of the parallel data collection |
Aux | type of the associated object |
Tag | tag this data is labeled with |
Allows:
Construction is not part of the interface.
Definition at line 74 of file ParallelData.h.
|
private |
Type returned when accessing an auxiliary collection element.
Definition at line 84 of file ParallelData.h.
|
private |
Type of the value of auxiliary collection element.
Definition at line 81 of file ParallelData.h.
using proxy::details::ParallelData< AuxColl, Aux, Tag >::auxiliary_data_t = decltype(util::makeTagged<tag>(std::declval<aux_element_t>())) |
Type returned when accessing auxiliary data.
Definition at line 92 of file ParallelData.h.
|
private |
Definition at line 86 of file ParallelData.h.
|
private |
Type of auxiliary collection.
Definition at line 78 of file ParallelData.h.
using proxy::details::ParallelData< AuxColl, Aux, Tag >::tag = Tag |
Tag of this association proxy.
Definition at line 89 of file ParallelData.h.
|
private |
This type.
Definition at line 75 of file ParallelData.h.
|
inline |
Constructor: points to the specified data collection.
Definition at line 95 of file ParallelData.h.
|
inline |
Returns an iterator pointing to the first data element.
Definition at line 98 of file ParallelData.h.
|
inline |
Returns a pointer to the whole data collection.
Definition at line 119 of file ParallelData.h.
Referenced by proxy::details::ParallelData< AuxProxyColl, Aux, Tag >::dataRef(), and proxy::makeParallelData().
|
inline |
Returns a reference to the whole data collection.
Definition at line 122 of file ParallelData.h.
|
inline |
Returns an iterator pointing past the last data element.
Definition at line 101 of file ParallelData.h.
|
inlineprivate |
Definition at line 127 of file ParallelData.h.
Referenced by proxy::details::ParallelData< AuxProxyColl, Aux, Tag >::operator[]().
|
inlinestatic |
Returns whether this data is labeled with the specified tag.
Definition at line 113 of file ParallelData.h.
|
inline |
Returns the element with the specified index (no check performed).
Definition at line 104 of file ParallelData.h.
|
private |
Reference to the original data product.
Definition at line 125 of file ParallelData.h.
Referenced by proxy::details::ParallelData< AuxProxyColl, Aux, Tag >::begin(), proxy::details::ParallelData< AuxProxyColl, Aux, Tag >::data(), and proxy::details::ParallelData< AuxProxyColl, Aux, Tag >::end().