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 #include <cstddef>
23 
24 // user include files
25 
26 // forward declarations
27 namespace edm {
28  template<typename T>
30 
31  public:
32  typedef typename T::value_type value_type;
33 
34  static size_t size(const T* iContainer) { return iContainer->size();}
35  static unsigned int indexFor(const value_type* iElement, const T* iContainer) {
36  return iElement-&(iContainer->front());
37  }
38 
39  private:
40  //virtual ~ContainerMaskTraits();
41  ContainerMaskTraits() = delete;
42  ContainerMaskTraits(const ContainerMaskTraits&) = delete; // stop default
43 
44  const ContainerMaskTraits& operator=(const ContainerMaskTraits&) = delete; // stop default
45 
46  // ---------- member data --------------------------------
47 
48  };
49 }
50 
51 #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