CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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  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  ContainerMaskTraits() = delete;
39  ContainerMaskTraits(const ContainerMaskTraits&) = delete; // stop default
40  const ContainerMaskTraits& operator=(const ContainerMaskTraits&) = delete; // stop default
41 
42  private:
43  //virtual ~ContainerMaskTraits();
44 
45  // ---------- member data --------------------------------
46  };
47 } // namespace edm
48 
49 #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)
long double T