1 #ifndef FWCore_SOA_TableExaminer_h
2 #define FWCore_SOA_TableExaminer_h
46 return m_table->columnAddressByIndex(iColumnIndex);
50 std::vector<std::type_index> returnValue;
52 columnTypesImpl<0, T::kNColumns>(returnValue);
57 std::vector<std::pair<char const*, std::type_index>> returnValue;
59 columnDescImpl<0, T::kNColumns>(returnValue);
66 template <
int I,
int S>
68 if constexpr (
I !=
S) {
69 using Layout =
typename T::Layout;
71 columnTypesImpl<I + 1, S>(iV);
75 template <
int I,
int S>
77 if constexpr (
I !=
S) {
78 using Layout =
typename T::Layout;
81 columnDescImpl<I + 1, S>(iV);
TableExaminer< T > & operator=(const TableExaminer< T > &)=default
void columnTypesImpl(std::vector< std::type_index > &iV) const
void const * columnAddress(unsigned int iColumnIndex) const final
~TableExaminer() override
size_t size() const final
void columnDescImpl(std::vector< std::pair< char const *, std::type_index >> &iV) const
const std::complex< double > I
std::vector< std::pair< char const *, std::type_index > > columnDescriptions() const final
TableExaminer(T const *iTable)
std::vector< std::type_index > columnTypes() const final
const std::type_info * typeID() const final
static const unsigned int kNColumns