CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Static Public Member Functions
edm::helpers::ViewFiller< T > Struct Template Reference

#include <Wrapper.h>

Static Public Member Functions

static void fill (T const &obj, ProductID const &id, std::vector< void const * > &pointers, helper_vector_ptr &helpers)
 

Detailed Description

template<typename T>
struct edm::helpers::ViewFiller< T >

Definition at line 358 of file Wrapper.h.

Member Function Documentation

template<typename T >
static void edm::helpers::ViewFiller< T >::fill ( T const &  obj,
ProductID const &  id,
std::vector< void const * > &  pointers,
helper_vector_ptr helpers 
)
inlinestatic

the following shoudl work also if T is a RefVector<C>

Definition at line 359 of file Wrapper.h.

References edm::fillView().

Referenced by edm::DoFillView< T >::operator()().

362  {
364  typedef Ref<T> ref;
365  typedef RefVector<T, typename ref::value_type, typename ref::finder_type> ref_vector;
366  helpers = helper_vector_ptr(new reftobase::RefVectorHolder<ref_vector>);
367  // fillView is the name of an overload set; each concrete
368  // collection T should supply a fillView function, in the same
369  // namespace at that in which T is defined, or in the 'edm'
370  // namespace.
371  fillView(obj, id, pointers, * helpers);
372  assert(pointers.size() == helpers->size());
373  }
boost::shared_ptr< reftobase::RefVectorHolderBase > helper_vector_ptr
Definition: EDProductfwd.h:46
void fillView(AssociationVector< KeyRefProd, CVal, KeyRef, SizeType, KeyReferenceHelper > const &obj, ProductID const &id, std::vector< void const * > &pointers, helper_vector &helpers)