1 #ifndef FWCore_SOA_RowView_h 2 #define FWCore_SOA_RowView_h 56 template <
typename... Args>
67 return *(
static_cast<typename
U::type const*
>(columnAddress<U>()));
77 template <
typename... Args>
88 return *(
static_cast<typename
U::type*
>(columnAddress<U>()));
92 return *(
static_cast<typename
U::type const*
>(columnAddress<U>()));
113 copyValueFromImpl<0>(iObj);
115 template<
typename O,
typename... CArgs>
117 copyValuesUsingFiller<0>(iFiller, iObj,
m_values);
121 template<
int I,
typename O>
127 *ptr =value_for_column(iObj, static_cast<ColumnType*>(
nullptr));
128 copyValueFromImpl<I+1>(iObj);
132 template<
int I,
typename E,
typename F>
135 using Layout = std::tuple<Args...>;
138 Type* pElement =
static_cast<Type*
>(oValues[
I]);
139 *pElement = iFiller.value(iItem, static_cast<ColumnType*>(
nullptr));
140 copyValuesUsingFiller<I+1>(iFiller,iItem, oValues);
void copyValuesFrom(O const &iObj)
MutableRowView(std::array< void *, sizeof...(Args)> &iValues)
void const * columnAddress() const
void copyValuesFrom(O const &iObj, ColumnFillers< CArgs... > iFiller)
std::tuple< Args... > Layout
void const * columnAddress() const
const std::complex< double > I
std::array< void const *, sizeof...(Args)> m_values
RowView(std::array< void const *, sizeof...(Args)> const &iValues)
std::tuple< Args... > Layout
void copyValueFromImpl(O const &iObj)
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
static void copyValuesUsingFiller(F &iFiller, E const &iItem, std::array< void *, sizeof...(Args)> &oValues)