CMS 3D CMS Logo

ColumnValues.h
Go to the documentation of this file.
1 #ifndef FWCore_SOA_ColumnValues_h
2 #define FWCore_SOA_ColumnValues_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/SOA
6 // Class : ColumnValues
7 //
15 //
16 // Original Author: Chris Jones
17 // Created: Thu, 24 Aug 2017 18:13:38 GMT
18 //
19 
20 // system include files
21 
22 // user include files
23 
24 // forward declarations
25 
26 namespace edm {
27 namespace soa {
28 
29 
30 template<typename T>
31 class ColumnValues {
32 public:
33  ColumnValues(T const* iBegin, size_t iSize):
34  m_begin(iBegin), m_end(iBegin+iSize) {}
35 
36  T const* begin() const { return m_begin; }
37  T const* end() const { return m_end; }
38 
39 private:
40  T const* m_begin = nullptr;
41  T const* m_end = nullptr;
42 };
43 
44 template<typename T>
46 public:
47  MutableColumnValues(T* iBegin, size_t iSize):
48  m_begin(iBegin), m_end(iBegin+iSize) {}
49 
50  T* begin() const { return m_begin; }
51  T* end() const { return m_end; }
52 
53 private:
54  T* m_begin = nullptr;
55  T* m_end = nullptr;
56 };
57 
58 }
59 }
60 
61 #endif
T const * begin() const
Definition: ColumnValues.h:36
MutableColumnValues(T *iBegin, size_t iSize)
Definition: ColumnValues.h:47
ColumnValues(T const *iBegin, size_t iSize)
Definition: ColumnValues.h:33
HLT enums.
T const * end() const
Definition: ColumnValues.h:37
long double T