File indexing completed on 2024-04-06 12:13:09
0001 #ifndef FWCore_SOA_ColumnValues_h
0002 #define FWCore_SOA_ColumnValues_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025 #include <cstddef>
0026 namespace edm {
0027 namespace soa {
0028
0029 template <typename T>
0030 class ColumnValues {
0031 public:
0032 ColumnValues(T const* iBegin, size_t iSize) : m_begin(iBegin), m_end(iBegin + iSize) {}
0033
0034 T const* begin() const { return m_begin; }
0035 T const* end() const { return m_end; }
0036
0037 private:
0038 T const* m_begin = nullptr;
0039 T const* m_end = nullptr;
0040 };
0041
0042 template <typename T>
0043 class MutableColumnValues {
0044 public:
0045 MutableColumnValues(T* iBegin, size_t iSize) : m_begin(iBegin), m_end(iBegin + iSize) {}
0046
0047 T* begin() const { return m_begin; }
0048 T* end() const { return m_end; }
0049
0050 private:
0051 T* m_begin = nullptr;
0052 T* m_end = nullptr;
0053 };
0054
0055 }
0056 }
0057
0058 #endif