CMS 3D CMS Logo

TableExaminerBase.h
Go to the documentation of this file.
1 #ifndef FWCore_SOA_TableExaminerBase_h
2 #define FWCore_SOA_TableExaminerBase_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/SOA
6 // Class : TableExaminerBase
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Mon, 28 Aug 2017 14:22:26 GMT
19 //
20 
21 // system include files
22 #include <vector>
23 #include <utility>
24 #include <typeinfo>
25 #include <typeindex>
26 #include <cstddef>
27 // user include files
28 
29 // forward declarations
30 
31 namespace edm {
32 namespace soa {
33 
35 {
36 
37 public:
38  TableExaminerBase() = default;
39  virtual ~TableExaminerBase() =default;
40  TableExaminerBase(const TableExaminerBase&) = default;
42 
43  // ---------- const member functions ---------------------
44  virtual std::vector<std::type_index> columnTypes() const = 0;
45 
46  virtual std::vector<std::pair<char const*, std::type_index>> columnDescriptions() const = 0;
47 
48  virtual size_t size() const = 0;
49 
50  virtual void const* columnAddress(unsigned int iColumnIndex) const = 0;
51 
52  virtual const std::type_info* typeID() const = 0;
53 
54  private:
55 
56  // ---------- member data --------------------------------
57 
58 };
59 }
60 }
61 
62 
63 #endif
virtual std::vector< std::pair< char const *, std::type_index > > columnDescriptions() const =0
virtual void const * columnAddress(unsigned int iColumnIndex) const =0
TableExaminerBase & operator=(const TableExaminerBase &)=default
virtual const std::type_info * typeID() const =0
virtual size_t size() const =0
virtual std::vector< std::type_index > columnTypes() const =0
virtual ~TableExaminerBase()=default
HLT enums.