CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Types | Private Attributes
edm::soa::TableItr< Args > Class Template Reference

#include <TableItr.h>

Public Types

using value_type = MutableRowView< Args... >
 

Public Member Functions

TableItr< Args... > makeOffset (long iDiff) const
 
bool operator!= (const TableItr< Args... > &iOther)
 
value_type operator* ()
 
TableItroperator++ ()
 
bool operator== (const TableItr< Args... > &iOther)
 
 TableItr (std::array< void *, sizeof...(Args)> const &iValues)
 
 TableItr (std::array< void *, sizeof...(Args)> const &iValues, long iOffset)
 
 TableItr (std::array< void *, sizeof...(Args)> const &iValues, unsigned int iOffset)
 

Private Types

using Layout = std::tuple< Args... >
 

Private Attributes

std::array< void *, sizeof...(Args)> m_values
 

Detailed Description

template<typename... Args>
class edm::soa::TableItr< Args >

Definition at line 79 of file TableItr.h.

Member Typedef Documentation

◆ Layout

template<typename... Args>
using edm::soa::TableItr< Args >::Layout = std::tuple<Args...>
private

Definition at line 80 of file TableItr.h.

◆ value_type

template<typename... Args>
using edm::soa::TableItr< Args >::value_type = MutableRowView<Args...>

Definition at line 84 of file TableItr.h.

Constructor & Destructor Documentation

◆ TableItr() [1/3]

template<typename... Args>
edm::soa::TableItr< Args >::TableItr ( std::array< void *, sizeof...(Args)> const &  iValues)
inlineexplicit

Definition at line 86 of file TableItr.h.

86 : m_values{iValues} {}

◆ TableItr() [2/3]

template<typename... Args>
edm::soa::TableItr< Args >::TableItr ( std::array< void *, sizeof...(Args)> const &  iValues,
long  iOffset 
)
inlineexplicit

Definition at line 88 of file TableItr.h.

88  : m_values{iValues} {
89  impl::TableItrAdvance<sizeof...(Args) - 1, Args...>::advance(m_values, iOffset);
90  }

◆ TableItr() [3/3]

template<typename... Args>
edm::soa::TableItr< Args >::TableItr ( std::array< void *, sizeof...(Args)> const &  iValues,
unsigned int  iOffset 
)
inlineexplicit

Definition at line 92 of file TableItr.h.

92  : m_values{iValues} {
93  impl::TableItrAdvance<sizeof...(Args) - 1, Args...>::advance(m_values, static_cast<long>(iOffset));
94  }

Member Function Documentation

◆ makeOffset()

template<typename... Args>
TableItr<Args...> edm::soa::TableItr< Args >::makeOffset ( long  iDiff) const
inline

Definition at line 107 of file TableItr.h.

107 { return TableItr<Args...>{m_values, iDiff}; }

References edm::soa::TableItr< Args >::m_values.

Referenced by edm::soa::operator+().

◆ operator!=()

template<typename... Args>
bool edm::soa::TableItr< Args >::operator!= ( const TableItr< Args... > &  iOther)
inline

Definition at line 105 of file TableItr.h.

105 { return m_values[0] != iOther.m_values[0]; }

References edm::soa::TableItr< Args >::m_values.

◆ operator*()

template<typename... Args>
value_type edm::soa::TableItr< Args >::operator* ( void  )
inline

Definition at line 96 of file TableItr.h.

96 { return value_type{m_values}; }

References edm::soa::TableItr< Args >::m_values.

◆ operator++()

template<typename... Args>
TableItr& edm::soa::TableItr< Args >::operator++ ( void  )
inline

Definition at line 98 of file TableItr.h.

98  {
99  impl::TableItrAdvance<sizeof...(Args) - 1, Args...>::advance(m_values, 1);
100  return *this;
101  }

References edm::soa::TableItr< Args >::m_values.

◆ operator==()

template<typename... Args>
bool edm::soa::TableItr< Args >::operator== ( const TableItr< Args... > &  iOther)
inline

Definition at line 103 of file TableItr.h.

103 { return m_values[0] == iOther.m_values[0]; }

References edm::soa::TableItr< Args >::m_values.

Member Data Documentation

◆ m_values

template<typename... Args>
std::array<void*, sizeof...(Args)> edm::soa::TableItr< Args >::m_values
private
TableItr
edm::soa::TableItr::value_type
MutableRowView< Args... > value_type
Definition: TableItr.h:84
edm::soa::TableItr::m_values
std::array< void *, sizeof...(Args)> m_values
Definition: TableItr.h:81