ATLAS Offline Software
Loading...
Searching...
No Matches
ExpressionParsing::VectorHelper Class Reference

Auxiliary class to handle vector like containers (AuxVectorBase). More...

#include <GenAccessor.h>

Collaboration diagram for ExpressionParsing::VectorHelper:

Static Public Member Functions

template<class T_Dest, class T_Cont, class T_Helper>
static void fillVector (T_Helper &helper, SG::ReadHandle< T_Cont > &handle, std::vector< T_Dest > &result)
template<class T_Dest, class T_Cont, class T_Helper>
static T_Dest getScalar (T_Helper &helper, SG::ReadHandle< T_Cont > &handle, const T_Dest &dummy)

Detailed Description

Auxiliary class to handle vector like containers (AuxVectorBase).

Definition at line 42 of file GenAccessor.h.

Member Function Documentation

◆ fillVector()

template<class T_Dest, class T_Cont, class T_Helper>
void ExpressionParsing::VectorHelper::fillVector ( T_Helper & helper,
SG::ReadHandle< T_Cont > & handle,
std::vector< T_Dest > & result )
inlinestatic

Definition at line 45 of file GenAccessor.h.

45 {
46 std::size_t n_elements=helper.size(*handle);
47 // helper.checkSize(n_elements);
48 result.reserve(n_elements);
49 for(std::size_t idx =0; idx <n_elements; ++idx) {
50 auto val = helper.get(*handle, idx);
51 // @TODO or throw an exception if the type conversion is not loss-less?
52 assert( val == static_cast<decltype(val)>(static_cast<T_Dest>(val)));
53 result.push_back( static_cast<T_Dest>( val ) );
54 }
55 }

◆ getScalar()

template<class T_Dest, class T_Cont, class T_Helper>
T_Dest ExpressionParsing::VectorHelper::getScalar ( T_Helper & helper,
SG::ReadHandle< T_Cont > & handle,
const T_Dest & dummy )
inlinestatic

Definition at line 57 of file GenAccessor.h.

57 {
58 (void) dummy;
59 if (getContainerSize(*handle) != 1) {
61 }
62 auto val = helper.get(*handle, 0);
63 // @TODO or throw an exception if the type conversion is not loss-less?
64 assert( val == static_cast<decltype(val)>(static_cast<T_Dest>(val)));
65 return static_cast<T_Dest>(val);
66 }
static void throwVectorContainsNotOneElement(const std::string &key, std::size_t n_elements)
virtual const std::string & key() const override final
Return the StoreGate ID for the referenced object.

The documentation for this class was generated from the following file: