Go to the documentation of this file. 1 #ifndef FWCore_SOA_TableView_h
2 #define FWCore_SOA_TableView_h
48 template <
typename... Args>
52 static constexpr
const size_t kNColumns =
sizeof...(Args);
55 template <
typename... OArgs>
57 fillArray(iTable, std::make_index_sequence<
sizeof...(Args)>{});
68 return *(static_cast<typename U::type const*>(columnAddress<U>()) + iRow);
88 template <
typename T,
size_t...
I>
89 void fillArray(
T const& iTable, std::index_sequence<I...>) {
90 ((
m_values[
I] = iTable.columnAddressWorkaround(
99 template <
typename...
T>
103 template <
typename T>
const_iterator end() const
static constexpr const size_t kNColumns
void fillArray(T const &iTable, std::index_sequence< I... >)
typename ViewFromTable< T >::type ViewFromTable_t
std::tuple< Args... > Layout
TableView(unsigned int iSize, std::array< void *, sizeof...(Args)> &iArray)
U::type const & get(size_t iRow) const
void const * columnAddress() const
unsigned int size() const
const std::complex< double > I
std::array< void const *, sizeof...(Args)> m_values
const_iterator begin() const
TableView(unsigned int iSize, std::array< void const *, sizeof...(Args)> &iArray)
ColumnValues< typename U::type > column() const
TableView(Table< OArgs... > const &iTable)