CMS 3D CMS Logo

ContainerMaskTraits.h
Go to the documentation of this file.
1 #ifndef DataFormats_Common_ContainerMaskTraits_h
2 #define DataFormats_Common_ContainerMaskTraits_h
3 // -*- C++ -*-
4 //
5 // Package: Common
6 // Class : ContainerMaskTraits
7 //
16 //
17 // Original Author:
18 // Created: Fri Sep 23 17:05:48 CDT 2011
19 //
20 
21 // system include files
22 
23 // user include files
24 
25 // forward declarations
26 namespace edm {
27  template<typename T>
29 
30  public:
31  typedef typename T::value_type value_type;
32 
33  static size_t size(const T* iContainer) { return iContainer->size();}
34  static unsigned int indexFor(const value_type* iElement, const T* iContainer) {
35  return iElement-&(iContainer->front());
36  }
37 
38  private:
39  //virtual ~ContainerMaskTraits();
40  ContainerMaskTraits() = delete;
41  ContainerMaskTraits(const ContainerMaskTraits&) = delete; // stop default
42 
43  const ContainerMaskTraits& operator=(const ContainerMaskTraits&) = delete; // stop default
44 
45  // ---------- member data --------------------------------
46 
47  };
48 }
49 
50 #endif
const ContainerMaskTraits & operator=(const ContainerMaskTraits &)=delete
static size_t size(const T *iContainer)
static unsigned int indexFor(const value_type *iElement, const T *iContainer)
HLT enums.
long double T