CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CountBits.h
Go to the documentation of this file.
1 namespace {
2 
3  template< int INDEX>
4  struct CountBits {
5  static const unsigned int value = INDEX%2+CountBits< (INDEX>>1) >::value;
6  };
7 
8  template<>
9  struct CountBits<0> {
10  static const unsigned int value = 0;
11  };
12 }
13 
14 static const unsigned int s_refsBefore[]={
4623 
4624 };
4625 
4626 
4627 
4642 };
4657 };
4658 
4659 
4660 #define GETREF( _class_, _mask_,_bit_) \
4661  edm::ProductID prodID; size_t index, aIndex; \
4662  typedef edm::Ref<std::vector<_class_> > RefType; \
4663  if(getRefInfo(_mask_, _bit_, prodID, index, aIndex) ) { \
4664  if (refsCollectionCache_.size()==0 || refsCollectionCache_[aIndex]==0) return RefType(prodID, index, getter_); \
4665  else { \
4666  const vector<_class_> *t=reinterpret_cast< const vector<_class_>* >(refsCollectionCache_[aIndex]);\
4667  return RefType(prodID, &((*t)[aIndex]),index,t);\
4668  } } \
4669  return RefType()
PFRefBits
Definition: CountBits.h:4628
PFRefMasks
Definition: CountBits.h:4643
static const unsigned int s_refsBefore[]
Definition: CountBits.h:14