CMS 3D CMS Logo

Column.h
Go to the documentation of this file.
1 #ifndef FWCore_SOA_Column_h
2 #define FWCore_SOA_Column_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/SOA
6 // Class : Column
7 //
32 //
33 // Original Author: Chris Jones
34 // Created: Thu, 24 Aug 2017 16:17:56 GMT
35 //
36 
37 // system include files
38 
39 // user include files
40 
41 // forward declarations
42 namespace edm {
43 namespace soa {
44 
48 template<typename COL, typename F>
50  using Column_type = COL;
51  F m_f;
52 };
53 
54 template <const char* LABEL, typename T>
55 struct Column
56 {
57  using type = T;
58  static constexpr char const * const kLabel = LABEL;
59 
60  static const char* const& label() {
61  static char const* const s_label(LABEL);
62  return s_label;
63  }
64 
65  template <typename F>
66  static ColumnFillerHolder<Column<LABEL,T>,F> filler(F&& iF) { return {iF}; }
67 
68  private:
69  Column() = default;
70  Column(const Column&) = delete; // stop default
71 
72  const Column& operator=(const Column&) = delete; // stop default
73 };
74 
75 }
76 }
77 #endif
#define constexpr
static ColumnFillerHolder< Column< LABEL, T >, F > filler(F &&iF)
Definition: Column.h:66
HLT enums.
static const char *const & label()
Definition: Column.h:60
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
Definition: blowfish.cc:281
long double T