CMS 3D CMS Logo

List of all members | Static Public Member Functions | Static Private Member Functions
edm::soa::Table< Args >::CtrFillerFromContainers Struct Reference

Static Public Member Functions

template<typename T , typename... U>
static size_t fill (std::array< void *, sizeof...(Args)> &oValues, T const &iContainer, U...iArgs)
 

Static Private Member Functions

template<int I, typename T , typename... U>
static void ctrFiller (std::array< void *, sizeof...(Args)> &oValues, size_t iSize, T const &iContainer, U...iU)
 
template<int I>
static void ctrFiller (std::array< void *, sizeof...(Args)> &, size_t)
 

Detailed Description

template<typename... Args>
struct edm::soa::Table< Args >::CtrFillerFromContainers

Definition at line 266 of file Table.h.

Member Function Documentation

template<typename... Args>
template<int I, typename T , typename... U>
static void edm::soa::Table< Args >::CtrFillerFromContainers::ctrFiller ( std::array< void *, sizeof...(Args)> &  oValues,
size_t  iSize,
T const &  iContainer,
U...  iU 
)
inlinestaticprivate

Definition at line 276 of file Table.h.

References Exhume::I, groupFilesInBlocks::temp, and findQualityFiles::v.

276  {
277  assert(iContainer.size() == iSize);
279  Type* temp = new Type[iSize];
280  unsigned int index = 0;
281  for (auto const& v : iContainer) {
282  temp[index] = v;
283  ++index;
284  }
285  oValues[I] = temp;
286 
287  ctrFiller<I + 1>(oValues, iSize, std::forward<U>(iU)...);
288  }
type
Definition: HCALResponse.h:21
const std::complex< double > I
Definition: I.h:8
template<typename... Args>
template<int I>
static void edm::soa::Table< Args >::CtrFillerFromContainers::ctrFiller ( std::array< void *, sizeof...(Args)> &  ,
size_t   
)
inlinestaticprivate

Definition at line 291 of file Table.h.

291 {}
template<typename... Args>
template<typename T , typename... U>
static size_t edm::soa::Table< Args >::CtrFillerFromContainers::fill ( std::array< void *, sizeof...(Args)> &  oValues,
T const &  iContainer,
U...  iArgs 
)
inlinestatic

Definition at line 268 of file Table.h.

References Exhume::I, and mitigatedMETSequence_cff::U.

Referenced by edm::soa::Table< Args >::Table().

268  {
269  static_assert(sizeof...(Args) == sizeof...(U) + 1, "Wrong number of arguments passed to Table constructor");
270  ctrFiller<0>(oValues, iContainer.size(), iContainer, std::forward<U>(iArgs)...);
271  return iContainer.size();
272  }