ATLAS Offline Software
|
Helper class to provide type-safe access to aux data. More...
#include <Accessor.h>
Public Types | |
using | reference_type = typename AuxDataTraits< T, ALLOC >::reference_type |
Type referencing an item. More... | |
using | element_type = typename AuxDataTraits< T, ALLOC >::element_type |
Type the user sees. More... | |
using | container_pointer_type = typename AuxDataTraits< T, ALLOC >::container_pointer_type |
Pointer into the container holding this item. More... | |
using | span = typename AuxDataTraits< T, ALLOC >::span |
A span over elements in the container. More... | |
using | const_reference_type = typename AuxDataTraits< T, AuxAllocator_t< T > >::const_reference_type |
Type referencing an item. More... | |
using | const_container_pointer_type = typename AuxDataTraits< T, AuxAllocator_t< T > >::const_container_pointer_type |
Pointer into the container holding this item. More... | |
using | const_span = typename AuxDataTraits< T, AuxAllocator_t< T > >::const_span |
A span over elements in the container. More... | |
Public Member Functions | |
Accessor (const std::string &name) | |
Constructor. More... | |
Accessor (const std::string &name, const std::string &clsname) | |
Constructor. More... | |
Accessor (const SG::auxid_t auxid) | |
Constructor taking an auxid directly. More... | |
template<class ELT > | |
reference_type | operator() (ELT &e) const |
Fetch the variable for one element, as a non-const reference. More... | |
reference_type | operator() (AuxVectorData &container, size_t index) const |
Fetch the variable for one element, as a non-const reference. More... | |
template<class ELT > | |
void | set (ELT &e, const element_type &x) const |
Set the variable for one element. More... | |
container_pointer_type | getDataArray (AuxVectorData &container) const |
Get a pointer to the start of the auxiliary data array. More... | |
span | getDataSpan (AuxVectorData &container) const |
Get a span over the auxilary data array. More... | |
template<class ELT > | |
bool | isAvailableWritable (ELT &e) const |
Test to see if this variable exists in the store and is writable. More... | |
bool | isAvailableWritable (AuxVectorData &c) const |
Test to see if this variable exists in the store and is writable. More... | |
const_reference_type | operator() (const ELT &e) const |
Fetch the variable for one element, as a const reference. More... | |
const_reference_type | operator() (const AuxVectorData &container, size_t index) const |
Fetch the variable for one element, as a const reference. More... | |
const_reference_type | withDefault (const ELT &e, const T &deflt) const |
Fetch the variable for one element, as a const reference, with a default. More... | |
const_reference_type | withDefault (const AuxVectorData &container, size_t index, const T &deflt) const |
Fetch the variable for one element, as a const reference. More... | |
const_container_pointer_type | getDataArray (const AuxVectorData &container) const |
Get a pointer to the start of the auxiliary data array. More... | |
const_span | getDataSpan (const AuxVectorData &container) const |
Get a span over the auxilary data array. More... | |
bool | isAvailable (const ELT &e) const |
Test to see if this variable exists in the store. More... | |
bool | isAvailable (const AuxVectorData &c) const |
Test to see if this variable exists in the store. More... | |
SG::auxid_t | auxid () const |
Return the aux id for this variable. More... | |
Protected Attributes | |
SG::auxid_t | m_auxid |
The cached auxid . More... | |
Helper class to provide type-safe access to aux data.
This is written as a separate class in order to be able to cache the name -> auxid lookup.
You might use this something like this:
You can also use this to define getters/setters in your class:
Definition at line 66 of file Control/AthContainers/AthContainers/Accessor.h.
|
inherited |
Pointer into the container holding this item.
Definition at line 65 of file ConstAccessor.h.
|
inherited |
Type referencing an item.
Definition at line 61 of file ConstAccessor.h.
|
inherited |
A span over elements in the container.
Definition at line 69 of file ConstAccessor.h.
using SG::Accessor< T, ALLOC >::container_pointer_type = typename AuxDataTraits<T, ALLOC>::container_pointer_type |
Pointer into the container holding this item.
Definition at line 77 of file Control/AthContainers/AthContainers/Accessor.h.
using SG::Accessor< T, ALLOC >::element_type = typename AuxDataTraits<T, ALLOC>::element_type |
Type the user sees.
Definition at line 74 of file Control/AthContainers/AthContainers/Accessor.h.
using SG::Accessor< T, ALLOC >::reference_type = typename AuxDataTraits<T, ALLOC>::reference_type |
Type referencing an item.
Definition at line 71 of file Control/AthContainers/AthContainers/Accessor.h.
using SG::Accessor< T, ALLOC >::span = typename AuxDataTraits<T, ALLOC>::span |
A span over elements in the container.
Definition at line 81 of file Control/AthContainers/AthContainers/Accessor.h.
SG::Accessor< T, ALLOC >::Accessor | ( | const std::string & | name | ) |
Constructor.
name | Name of this aux variable. |
The name -> auxid lookup is done here.
SG::Accessor< T, ALLOC >::Accessor | ( | const std::string & | name, |
const std::string & | clsname | ||
) |
Constructor.
name | Name of this aux variable. |
clsname | The name of its associated class. May be blank. |
The name -> auxid lookup is done here.
SG::Accessor< T, ALLOC >::Accessor | ( | const SG::auxid_t | auxid | ) |
Constructor taking an auxid directly.
auxid | ID for this auxiliary variable. |
Will throw SG::ExcAuxTypeMismatch
if the types don't match.
|
inherited |
Return the aux id for this variable.
container_pointer_type SG::Accessor< T, ALLOC >::getDataArray | ( | AuxVectorData & | container | ) | const |
Get a pointer to the start of the auxiliary data array.
container | The container from which to fetch the variable. |
|
inherited |
Get a pointer to the start of the auxiliary data array.
container | The container from which to fetch the variable. |
span SG::Accessor< T, ALLOC >::getDataSpan | ( | AuxVectorData & | container | ) | const |
Get a span over the auxilary data array.
container | The container from which to fetch the variable. |
|
inherited |
Get a span over the auxilary data array.
container | The container from which to fetch the variable. |
|
inherited |
Test to see if this variable exists in the store.
c | The container in which to test the variable. |
|
inherited |
Test to see if this variable exists in the store.
e | An element of the container in which to test the variable. |
bool SG::Accessor< T, ALLOC >::isAvailableWritable | ( | AuxVectorData & | c | ) | const |
Test to see if this variable exists in the store and is writable.
c | The container in which to test the variable. |
bool SG::Accessor< T, ALLOC >::isAvailableWritable | ( | ELT & | e | ) | const |
Test to see if this variable exists in the store and is writable.
e | An element of the container in which to test the variable. |
reference_type SG::Accessor< T, ALLOC >::operator() | ( | AuxVectorData & | container, |
size_t | index | ||
) | const |
Fetch the variable for one element, as a non-const reference.
container | The container from which to fetch the variable. |
index | The index of the desired element. |
This allows retrieving aux data by container / index. Looping over the index via this method will be faster then looping over the elements of the container.
|
inherited |
Fetch the variable for one element, as a const reference.
container | The container from which to fetch the variable. |
index | The index of the desired element. |
This allows retrieving aux data by container / index. Looping over the index via this method will be faster then looping over the elements of the container.
|
inherited |
Fetch the variable for one element, as a const reference.
e | The element for which to fetch the variable. |
reference_type SG::Accessor< T, ALLOC >::operator() | ( | ELT & | e | ) | const |
Fetch the variable for one element, as a non-const reference.
e | The element for which to fetch the variable. |
void SG::Accessor< T, ALLOC >::set | ( | ELT & | e, |
const element_type & | x | ||
) | const |
Set the variable for one element.
e | The element for which to fetch the variable. |
x | The variable value to set. |
|
inherited |
Fetch the variable for one element, as a const reference.
container | The container from which to fetch the variable. |
index | The index of the desired element. |
deflt | Default value. |
This allows retrieving aux data by container / index. Looping over the index via this method will be faster then looping over the elements of the container. If this variable is not available, then return deflt
instead.
|
inherited |
Fetch the variable for one element, as a const reference, with a default.
e | The element for which to fetch the variable. |
deflt | Default value. |
If this variable is not available, then return deflt
instead.
|
protectedinherited |
The cached auxid
.
Definition at line 214 of file ConstAccessor.h.