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 357 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 358 of file Wrapper.h.

References edm::fillView().

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

361  {
363  typedef Ref<T> ref;
364  typedef RefVector<T, typename ref::value_type, typename ref::finder_type> ref_vector;
365  helpers = helper_vector_ptr(new reftobase::RefVectorHolder<ref_vector>);
366  // fillView is the name of an overload set; each concrete
367  // collection T should supply a fillView function, in the same
368  // namespace at that in which T is defined, or in the 'edm'
369  // namespace.
370  fillView(obj, id, pointers, * helpers);
371  assert(pointers.size() == helpers->size());
372  }
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)