1 #ifndef FWCore_SOA_TableView_h 2 #define FWCore_SOA_TableView_h 48 template <
typename... Args>
55 template <
typename... OArgs>
57 fillArray(iTable, std::make_index_sequence<
sizeof...(Args)>{});
67 typename U::type const&
get(
size_t iRow)
const {
68 return static_cast<typename
U::type*
>(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(
unsigned int size() const
static constexpr const size_t kNColumns
void fillArray(T const &iTable, std::index_sequence< I... >)
std::tuple< Args... > Layout
TableView(unsigned int iSize, std::array< void *, sizeof...(Args)> &iArray)
std::array< void const *, sizeof...(Args)> m_values
ColumnValues< typename U::type > column() const
const std::complex< double > I
void const * columnAddress() const
const_iterator end() const
TableView(unsigned int iSize, std::array< void const *, sizeof...(Args)> &iArray)
const_iterator begin() const
TableView(Table< OArgs... > const &iTable)