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  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 } // namespace edm
48 
49 #endif
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::ContainerMaskTraits::operator=
const ContainerMaskTraits & operator=(const ContainerMaskTraits &)=delete
edm::ContainerMaskTraits::indexFor
static unsigned int indexFor(const value_type *iElement, const T *iContainer)
Definition: ContainerMaskTraits.h:34
edm::ContainerMaskTraits
Definition: ContainerMaskTraits.h:29
edm::ContainerMaskTraits::ContainerMaskTraits
ContainerMaskTraits()=delete
edm::ContainerMaskTraits::size
static size_t size(const T *iContainer)
Definition: ContainerMaskTraits.h:33
reco::JetExtendedAssociation::value_type
Container::value_type value_type
Definition: JetExtendedAssociation.h:30
T
long double T
Definition: Basic3DVectorLD.h:48
edm::ContainerMaskTraits::value_type
T::value_type value_type
Definition: ContainerMaskTraits.h:31