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 80 of file TableItr.h.

Member Typedef Documentation

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

Definition at line 81 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  :
87  m_values{iValues} {}
std::array< void *, sizeof...(Args)> m_values
Definition: TableItr.h:82
template<typename... Args>
edm::soa::TableItr< Args >::TableItr ( std::array< void *, sizeof...(Args)> const &  iValues,
long  iOffset 
)
inlineexplicit

Definition at line 89 of file TableItr.h.

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

89  :
90  m_values{iValues} {
91  impl::TableItrAdvance<sizeof...(Args)-1, Args...>::advance(m_values, iOffset);
92  }
std::array< void *, sizeof...(Args)> m_values
Definition: TableItr.h:82
template<typename... Args>
edm::soa::TableItr< Args >::TableItr ( std::array< void *, sizeof...(Args)> const &  iValues,
unsigned int  iOffset 
)
inlineexplicit

Definition at line 94 of file TableItr.h.

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

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

Member Function Documentation

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

Definition at line 116 of file TableItr.h.

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

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

Definition at line 112 of file TableItr.h.

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

112  {
113  return m_values[0] != iOther.m_values[0];
114  }
std::array< void *, sizeof...(Args)> m_values
Definition: TableItr.h:82
template<typename... Args>
value_type edm::soa::TableItr< Args >::operator* ( void  )
inline

Definition at line 99 of file TableItr.h.

99  {
100  return value_type{m_values};
101  }
MutableRowView< Args... > value_type
Definition: TableItr.h:84
std::array< void *, sizeof...(Args)> m_values
Definition: TableItr.h:82
template<typename... Args>
TableItr& edm::soa::TableItr< Args >::operator++ ( void  )
inline

Definition at line 103 of file TableItr.h.

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

103  {
104  impl::TableItrAdvance<sizeof...(Args)-1, Args...>::advance(m_values, 1);
105  return *this;
106  }
std::array< void *, sizeof...(Args)> m_values
Definition: TableItr.h:82
template<typename... Args>
bool edm::soa::TableItr< Args >::operator== ( const TableItr< Args... > &  iOther)
inline

Definition at line 108 of file TableItr.h.

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

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

Member Data Documentation

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