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[]={
4111 };
4112 
4113 
4114 
4128 };
4142 };
4143 
4144 
4145 #define GETREF( _class_, _mask_,_bit_) \
4146  edm::ProductID prodID; size_t index, aIndex; \
4147  typedef edm::Ref<std::vector<_class_> > RefType; \
4148  if(getRefInfo(_mask_, _bit_, prodID, index, aIndex) ) { \
4149  if (refsCollectionCache_.size()==0 || refsCollectionCache_[aIndex]==0) return RefType(prodID, index, getter_); \
4150  else { \
4151  const vector<_class_> *t=reinterpret_cast< const vector<_class_>* >(refsCollectionCache_[aIndex]);\
4152  return RefType(prodID, &((*t)[aIndex]),index,t);\
4153  } } \
4154  return RefType()
PFRefBits
Definition: CountBits.h:4115
PFRefMasks
Definition: CountBits.h:4129
static const unsigned int s_refsBefore[]
Definition: CountBits.h:14