LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
This type extends the interface of the art pointer to Assns right side. More...
#include "AssociatedData.h"
Public Types | |
using | main_t = typename assns_node_traits_t::left_t |
Type of the main (left) object in the association. More... | |
using | value_t = typename assns_node_traits_t::right_t |
Type of the associated (right) object. More... | |
using | data_t = typename assns_node_traits_t::data_t |
Type of the associated additional data (void if none). More... | |
using | mainptr_t = typename assns_node_traits_t::leftptr_t |
Type of art pointer to the main (left) object in the association. More... | |
using | valueptr_t = typename assns_node_traits_t::rightptr_t |
Type of art pointer to the associated (right) object. More... | |
using | dataptr_t = typename assns_node_traits_t::dataptr_t |
Type of the pointer to associated additional data. More... | |
Public Member Functions | |
Access to the associated (right) value | |
valueptr_t const & | valuePtr () const |
Returns the art pointer to the associated value. More... | |
value_t const & | value () const |
Returns a reference to the associated value. More... | |
Access to the key (left) value | |
mainptr_t const & | 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... | |
Interface to the art pointer to the associated (right) value | |
operator valueptr_t const & () const & | |
Implicit conversion to art pointer of the associated object. More... | |
operator valueptr_t () const && | |
Implicit conversion to art pointer of the associated object. More... | |
value_t const & | operator* () const |
Returns a reference to the associated value (alias of value() ). More... | |
valueptr_t | operator-> () const |
Returns the associated value (alias of valuePtr() ). More... | |
auto | key () const -> decltype(auto) |
Returns the key of the art pointer to the value. More... | |
auto | id () const -> decltype(auto) |
Returns the product ID of the art pointer to the value. More... | |
Static Public Member Functions | |
static this_t const & | makeFrom (node_t const &from) |
Reinterprets the specified association node as a AssnsNode . More... | |
Private Types | |
using | base_t = ArtAssnsIterValue |
Base class type. More... | |
using | this_t = AssnsNode< ArtAssnsIterValue > |
This class. More... | |
using | node_t = ArtAssnsIterValue |
Type of the wrapped node. More... | |
using | assns_node_traits_t = lar::util::assns_traits< node_t > |
Set of traits of the node. More... | |
Metadata access | |
The complete interface is available only if the association has metadata. Otherwise, only the static member | |
template<typename Node = node_t> | |
std::enable_if_t< hasMetadata< Node >), dataptr_t > | dataPtr () const |
Returns the pointer to the metadata on this association node. More... | |
template<typename Node = node_t> | |
std::enable_if_t< hasMetadata< Node >), typename lar::util::assns_traits< Node >::data_t const & > | data () const |
Returns a reference to the metadata on this association node. More... | |
template<typename Node = node_t> | |
static constexpr bool | hasMetadata () |
Returns whether this node type supports metadata. More... | |
This type extends the interface of the art pointer to Assns right side.
Definition at line 214 of file AssociatedData.h.
|
private |
Set of traits of the node.
Definition at line 221 of file AssociatedData.h.
|
private |
Base class type.
Definition at line 216 of file AssociatedData.h.
using proxy::details::AssnsNode< ArtAssnsIterValue >::data_t = typename assns_node_traits_t::data_t |
Type of the associated additional data (void
if none).
Definition at line 231 of file AssociatedData.h.
using proxy::details::AssnsNode< ArtAssnsIterValue >::dataptr_t = typename assns_node_traits_t::dataptr_t |
Type of the pointer to associated additional data.
Definition at line 240 of file AssociatedData.h.
using proxy::details::AssnsNode< ArtAssnsIterValue >::main_t = typename assns_node_traits_t::left_t |
Type of the main (left) object in the association.
Definition at line 225 of file AssociatedData.h.
using proxy::details::AssnsNode< ArtAssnsIterValue >::mainptr_t = typename assns_node_traits_t::leftptr_t |
Type of art pointer to the main (left) object in the association.
Definition at line 234 of file AssociatedData.h.
|
private |
Type of the wrapped node.
Definition at line 218 of file AssociatedData.h.
|
private |
This class.
Definition at line 217 of file AssociatedData.h.
using proxy::details::AssnsNode< ArtAssnsIterValue >::value_t = typename assns_node_traits_t::right_t |
Type of the associated (right) object.
Definition at line 228 of file AssociatedData.h.
using proxy::details::AssnsNode< ArtAssnsIterValue >::valueptr_t = typename assns_node_traits_t::rightptr_t |
Type of art pointer to the associated (right) object.
Definition at line 237 of file AssociatedData.h.
|
inline |
Returns a reference to the metadata on this association node.
Definition at line 295 of file AssociatedData.h.
|
inline |
Returns the pointer to the metadata on this association node.
Definition at line 283 of file AssociatedData.h.
|
inlinestatic |
Returns whether this node type supports metadata.
Definition at line 276 of file AssociatedData.h.
|
inline |
Returns the product ID of the art pointer to the value.
Definition at line 321 of file AssociatedData.h.
|
inline |
Returns the key of the art pointer to the value.
Definition at line 318 of file AssociatedData.h.
|
inline |
Returns the main value, key of the association.
Definition at line 260 of file AssociatedData.h.
|
inline |
Returns the art pointer to the main value, key of the association.
Definition at line 257 of file AssociatedData.h.
|
inlinestatic |
Reinterprets the specified association node as a AssnsNode
.
Definition at line 325 of file AssociatedData.h.
Referenced by proxy::details::makeAssnsNode().
|
inline |
Implicit conversion to art pointer of the associated object.
Definition at line 309 of file AssociatedData.h.
|
inline |
Implicit conversion to art pointer of the associated object.
Definition at line 306 of file AssociatedData.h.
|
inline |
Returns a reference to the associated value (alias of value()
).
Definition at line 312 of file AssociatedData.h.
References proxy::details::IteratorWrapperBase< Iter, DataIter, ValueType >::ValuePtr< Value >::value.
|
inline |
Returns the associated value (alias of valuePtr()
).
Definition at line 315 of file AssociatedData.h.
|
inline |
Returns a reference to the associated value.
Definition at line 249 of file AssociatedData.h.
|
inline |
Returns the art pointer to the associated value.
Definition at line 246 of file AssociatedData.h.
Referenced by proxy::details::operator!=(), and proxy::details::operator==().