CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 // $Id: ContainerMaskTraits.h,v 1.1 2011/12/01 13:02:17 vlimant Exp $
20 //
21 
22 // system include files
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();
42  ContainerMaskTraits(const ContainerMaskTraits&); // stop default
43 
44  const ContainerMaskTraits& operator=(const ContainerMaskTraits&); // stop default
45 
46  // ---------- member data --------------------------------
47 
48  };
49 }
50 
51 #endif
const ContainerMaskTraits & operator=(const ContainerMaskTraits &)
static size_t size(const T *iContainer)
Container::value_type value_type
static unsigned int indexFor(const value_type *iElement, const T *iContainer)
long double T