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

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

Definition at line 80 of file TableItr.h.

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

Definition at line 84 of file TableItr.h.

Constructor & Destructor Documentation

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} {}
std::array< void *, sizeof...(Args)> m_values
Definition: TableItr.h:81
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.

References edm::soa::impl::TableItrAdvance< I, Args >::advance().

88  : m_values{iValues} {
89  impl::TableItrAdvance<sizeof...(Args) - 1, Args...>::advance(m_values, iOffset);
90  }
std::array< void *, sizeof...(Args)> m_values
Definition: TableItr.h:81
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.

References edm::soa::impl::TableItrAdvance< I, Args >::advance().

92  : m_values{iValues} {
93  impl::TableItrAdvance<sizeof...(Args) - 1, Args...>::advance(m_values, static_cast<long>(iOffset));
94  }
std::array< void *, sizeof...(Args)> m_values
Definition: TableItr.h:81

Member Function Documentation

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

Definition at line 107 of file TableItr.h.

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

107 { return TableItr<Args...>{m_values, iDiff}; }
std::array< void *, sizeof...(Args)> m_values
Definition: TableItr.h:81
template<typename... Args>
bool edm::soa::TableItr< Args >::operator!= ( const TableItr< Args... > &  iOther)
inline

Definition at line 105 of file TableItr.h.

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

105 { return m_values[0] != iOther.m_values[0]; }
std::array< void *, sizeof...(Args)> m_values
Definition: TableItr.h:81
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}; }
MutableRowView< Args... > value_type
Definition: TableItr.h:84
std::array< void *, sizeof...(Args)> m_values
Definition: TableItr.h:81
template<typename... Args>
TableItr& edm::soa::TableItr< Args >::operator++ ( void  )
inline

Definition at line 98 of file TableItr.h.

References edm::soa::impl::TableItrAdvance< I, Args >::advance().

98  {
99  impl::TableItrAdvance<sizeof...(Args) - 1, Args...>::advance(m_values, 1);
100  return *this;
101  }
std::array< void *, sizeof...(Args)> m_values
Definition: TableItr.h:81
template<typename... Args>
bool edm::soa::TableItr< Args >::operator== ( const TableItr< Args... > &  iOther)
inline

Definition at line 103 of file TableItr.h.

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

103 { return m_values[0] == iOther.m_values[0]; }
std::array< void *, sizeof...(Args)> m_values
Definition: TableItr.h:81

Member Data Documentation

template<typename... Args>
std::array<void*, sizeof...(Args)> edm::soa::TableItr< Args >::m_values
private