CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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  public:
36  TableExaminerBase() = default;
37  virtual ~TableExaminerBase() = default;
38  TableExaminerBase(const TableExaminerBase&) = default;
40 
41  // ---------- const member functions ---------------------
42  virtual std::vector<std::type_index> columnTypes() const = 0;
43 
44  virtual std::vector<std::pair<char const*, std::type_index>> columnDescriptions() const = 0;
45 
46  virtual size_t size() const = 0;
47 
48  virtual void const* columnAddress(unsigned int iColumnIndex) const = 0;
49 
50  virtual const std::type_info* typeID() const = 0;
51 
52  private:
53  // ---------- member data --------------------------------
54  };
55  } // namespace soa
56 } // namespace edm
57 
58 #endif
virtual size_t size() const =0
virtual const std::type_info * typeID() const =0
TableExaminerBase & operator=(const TableExaminerBase &)=default
ZVertexSoA * soa
virtual std::vector< std::type_index > columnTypes() const =0
virtual std::vector< std::pair< char const *, std::type_index > > columnDescriptions() const =0
virtual void const * columnAddress(unsigned int iColumnIndex) const =0
virtual ~TableExaminerBase()=default