Go to the documentation of this file. 1 #ifndef FWCore_SOA_TableItr_h
2 #define FWCore_SOA_TableItr_h
24 #include <type_traits>
35 template <
int I,
typename... Args>
41 auto p = static_cast<Type*>(iArray[
I]);
42 iArray[
I] =
p + iStep;
46 template <
typename... Args>
51 auto p = static_cast<Type*>(iArray[0]);
52 iArray[0] =
p + iStep;
56 template <
int I,
typename... Args>
62 auto p = static_cast<Type const*>(iArray[
I]);
63 iArray[
I] =
p + iStep;
67 template <
typename... Args>
72 auto p = static_cast<Type const*>(iArray[0]);
73 iArray[0] =
p + iStep;
78 template <
typename... Args>
110 template <
typename... Args>
115 template <
typename... Args>
147 template <
typename... Args>
TableItr< Args... > makeOffset(long iDiff) const
TableItr(std::array< void *, sizeof...(Args)> const &iValues, long iOffset)
bool operator!=(const ConstTableItr< Args... > &iOther)
static void advance(std::array< void const *, sizeof...(Args)> &iArray, long iStep)
ConstTableItr & operator++()
ConstTableItr(std::array< void const *, sizeof...(Args)> const &iValues, unsigned int iOffset)
std::tuple< Args... > Layout
std::tuple< Args... > Layout
TableItr(std::array< void *, sizeof...(Args)> const &iValues)
TableItr< Args... > operator+(TableItr< Args... > const &iLHS, long iDiff)
bool operator==(const ConstTableItr< Args... > &iOther)
bool operator!=(const TableItr< Args... > &iOther)
std::tuple< Args... > Layout
TableItr(std::array< void *, sizeof...(Args)> const &iValues, unsigned int iOffset)
std::tuple< Args... > Layout
const std::complex< double > I
bool operator==(const TableItr< Args... > &iOther)
std::array< void *, sizeof...(Args)> m_values
static void advance(std::array< void *, sizeof...(Args)> &iArray, long iStep)
std::tuple< Args... > Layout
ConstTableItr(std::array< void const *, sizeof...(Args)> const &iValues)
value_type operator*() const
ConstTableItr(std::array< void const *, sizeof...(Args)> const &iValues, long iOffset)
static void advance(std::array< void const *, sizeof...(Args)> &iArray, long iStep)
TableItr< Args... > makeOffset(long iDiff) const
std::tuple< Args... > Layout
static void advance(std::array< void *, sizeof...(Args)> &iArray, long iStep)
std::array< void const *, sizeof...(Args)> m_values