LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "AssociatedData.h"
Public Types | |
using | iterator = assns_node_iterator< ArtAssnsIter > |
Iterator traits | |
!< The type of base iterator wrapper. | |
using | value_type = AssnsIterTraits< ArtAssnsIter >::node_t |
using | pointer = std::add_pointer_t< value_type > |
using | reference = std::add_lvalue_reference_t< value_type > |
using | iterator_category = std::forward_iterator_tag |
Public Member Functions | |
assns_node_iterator (base_iterator_t const &from) | |
Constructor from a base iterator (explicitly allowed). More... | |
AssnsNode_t const & | info () const |
Returns the full information the iterator points to. More... | |
AssnsNode_t const & | operator() () const |
Returns the full information the iterator points to. More... | |
iterator & | operator++ () |
Prefix increment operator. More... | |
bool | operator!= (data_iterator_t const &other) const |
Comparison with a data iterator (makes unnecessary to wrap end iterators). More... | |
bool | operator!= (iterator const &other) const |
Comparison with another iterator. More... | |
auto | operator[] (std::size_t index) const -> decltype(auto) |
auto | operator* () const -> decltype(auto) |
Dereference operator; need to be redefined by derived classes. More... | |
auto | operator-> () const -> decltype(auto) |
Dereference operator; need to be redefined by derived classes. More... | |
Static Public Member Functions | |
static AssnsNode_t const & | transform (art_assns_iter_t const &v) |
Protected Types | |
using | data_iterator_t = ArtAssnsIter |
Protected Member Functions | |
data_iterator_t const & | asDataIterator () const |
Private Types | |
using | base_iterator_t = IteratorWrapperBase< assns_node_iterator< ArtAssnsIter >, ArtAssnsIter, typename AssnsIterTraits< ArtAssnsIter >::node_t > |
using | art_assns_iter_t = ArtAssnsIter |
using | traits_t = AssnsIterTraits< art_assns_iter_t > |
using | AssnsNode_t = typename traits_t::node_t |
Type of node for this association iterator. More... | |
using | ArtAssnsNode_t = typename traits_t::art_node_t |
Access to the full association information | |
using | main_t = typename AssnsNode_t::main_t |
Returns the art pointer to the associated value. More... | |
using | value_t = typename AssnsNode_t::value_t |
Returns the art pointer to the associated value. More... | |
using | data_t = typename AssnsNode_t::data_t |
Returns the art pointer to the associated value. More... | |
using | mainptr_t = typename AssnsNode_t::mainptr_t |
Returns the art pointer to the associated value. More... | |
using | valueptr_t = typename AssnsNode_t::valueptr_t |
Returns the art pointer to the associated value. More... | |
using | dataptr_t = typename AssnsNode_t::dataptr_t |
Returns the art pointer to the associated value. More... | |
valueptr_t | valuePtr () const |
Returns the art pointer to the associated value. More... | |
value_t const & | value () const |
Returns the art pointer to the associated value. More... | |
mainptr_t | mainPtr () const |
Returns the art pointer to the main value, key of the association. More... | |
main_t const & | main () const |
Returns the main value, key of the association. More... | |
template<typename ArtNode = ArtAssnsNode_t> | |
std::enable_if_t< hasMetadata< ArtNode >), dataptr_t > | dataPtr () const |
Returns the pointer to the metadata on this association node. More... | |
template<typename ArtNode = ArtAssnsNode_t> | |
std::enable_if_t< hasMetadata< ArtNode >), typename lar::util::assns_traits< ArtNode >::data_t const & > | data () const |
Returns a reference to the metadata on this association node. More... | |
template<typename Node = AssnsNode_t> | |
static constexpr bool | hasMetadata () |
Returns whether this node type supports metadata. More... | |
Modified iterator returning a association node interface. The basic iterator interface is to the associated (right) art pointer.
Definition at line 391 of file AssociatedData.h.
|
private |
Definition at line 399 of file AssociatedData.h.
|
private |
Definition at line 404 of file AssociatedData.h.
|
private |
Type of node for this association iterator.
Definition at line 403 of file AssociatedData.h.
|
private |
Definition at line 397 of file AssociatedData.h.
|
protectedinherited |
Definition at line 99 of file AssociatedData.h.
using proxy::details::assns_node_iterator< ArtAssnsIter >::data_t = typename AssnsNode_t::data_t |
Returns the art pointer to the associated value.
Definition at line 425 of file AssociatedData.h.
using proxy::details::assns_node_iterator< ArtAssnsIter >::dataptr_t = typename AssnsNode_t::dataptr_t |
Returns the art pointer to the associated value.
Definition at line 428 of file AssociatedData.h.
|
inherited |
Definition at line 102 of file AssociatedData.h.
|
inherited |
Definition at line 110 of file AssociatedData.h.
using proxy::details::assns_node_iterator< ArtAssnsIter >::main_t = typename AssnsNode_t::main_t |
Returns the art pointer to the associated value.
Definition at line 423 of file AssociatedData.h.
using proxy::details::assns_node_iterator< ArtAssnsIter >::mainptr_t = typename AssnsNode_t::mainptr_t |
Returns the art pointer to the associated value.
Definition at line 426 of file AssociatedData.h.
|
inherited |
Definition at line 108 of file AssociatedData.h.
|
inherited |
Definition at line 109 of file AssociatedData.h.
|
private |
Definition at line 400 of file AssociatedData.h.
using proxy::details::assns_node_iterator< ArtAssnsIter >::value_t = typename AssnsNode_t::value_t |
Returns the art pointer to the associated value.
Definition at line 424 of file AssociatedData.h.
|
inherited |
Definition at line 107 of file AssociatedData.h.
using proxy::details::assns_node_iterator< ArtAssnsIter >::valueptr_t = typename AssnsNode_t::valueptr_t |
Returns the art pointer to the associated value.
Definition at line 427 of file AssociatedData.h.
|
inline |
Constructor from a base iterator (explicitly allowed).
Definition at line 410 of file AssociatedData.h.
|
inlineprotectedinherited |
Definition at line 150 of file AssociatedData.h.
|
inline |
Returns a reference to the metadata on this association node.
Definition at line 461 of file AssociatedData.h.
|
inline |
Returns the pointer to the metadata on this association node.
Definition at line 452 of file AssociatedData.h.
|
inlinestatic |
Returns whether this node type supports metadata.
Definition at line 445 of file AssociatedData.h.
|
inline |
Returns the full information the iterator points to.
Definition at line 413 of file AssociatedData.h.
References operator*().
|
inline |
Returns the main value, key of the association.
Definition at line 440 of file AssociatedData.h.
|
inline |
Returns the art pointer to the main value, key of the association.
Definition at line 437 of file AssociatedData.h.
|
inlineinherited |
Comparison with a data iterator (makes unnecessary to wrap end iterators).
Definition at line 127 of file AssociatedData.h.
References proxy::details::IteratorWrapperBase< Iter, DataIter, ValueType >::asDataIterator().
|
inlineinherited |
Comparison with another iterator.
Definition at line 130 of file AssociatedData.h.
References proxy::details::IteratorWrapperBase< Iter, DataIter, ValueType >::asDataIterator(), and proxy::details::IteratorWrapperBase< Iter, DataIter, ValueType >::operator!=().
|
inline |
Returns the full information the iterator points to.
Definition at line 416 of file AssociatedData.h.
|
inlineinherited |
Dereference operator; need to be redefined by derived classes.
Definition at line 138 of file AssociatedData.h.
References proxy::details::IteratorWrapperBase< Iter, DataIter, ValueType >::asDataIterator(), and proxy::details::IteratorWrapperBase< Iter, DataIter, ValueType >::asIterator().
|
inlineinherited |
Prefix increment operator.
Definition at line 120 of file AssociatedData.h.
References proxy::details::IteratorWrapperBase< Iter, DataIter, ValueType >::asIterator().
|
inlineinherited |
Dereference operator; need to be redefined by derived classes.
Definition at line 141 of file AssociatedData.h.
References proxy::details::IteratorWrapperBase< Iter, DataIter, ValueType >::makeValuePointer().
|
inlineinherited |
Definition at line 132 of file AssociatedData.h.
References proxy::details::IteratorWrapperBase< Iter, DataIter, ValueType >::asDataIterator(), and proxy::details::IteratorWrapperBase< Iter, DataIter, ValueType >::asIterator().
|
inlinestatic |
Definition at line 486 of file AssociatedData.h.
References proxy::details::makeAssnsNode().
|
inline |
Returns the art pointer to the associated value.
Definition at line 434 of file AssociatedData.h.
|
inline |
Returns the art pointer to the associated value.
Definition at line 431 of file AssociatedData.h.