ATLAS Offline Software
ToolWrapper.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 #ifndef COLUMNAR_TEST_FIXTURES_TOOL_WRAPPER_H
9 #define COLUMNAR_TEST_FIXTURES_TOOL_WRAPPER_H
10 
12 
13 #include <memory>
14 #include <span>
15 #include <string>
16 #include <typeinfo>
17 #include <unordered_map>
18 #include <vector>
19 
20 namespace columnar
21 {
22  struct ColumnInfo;
23  class IColumnarTool;
24 
25 
26  namespace TestUtils
27  {
34 
36  {
39 
40  public:
41 
43  explicit ToolWrapperData (ColumnVectorData *val_columnData, const ToolColumnVectorMap *val_wrapper) noexcept;
44 
45 
46  template<typename CT>
47  void setColumn (const std::string& name, std::size_t size, CT* dataPtr) {
48  m_wrapper->setColumn (*m_columnData, name, size, dataPtr);
49  }
50 
51 
52 
55 
56  private:
57 
58  const ToolColumnVectorMap *m_wrapper = nullptr;
59 
61  };
62  }
63 }
64 
65 #endif
columnar::TestUtils::ToolWrapperData::m_wrapper
const ToolColumnVectorMap * m_wrapper
Definition: ToolWrapper.h:58
TestUtils
Definition: TestUtils.py:1
columnar::TestUtils::ToolWrapperData::setColumn
void setColumn(const std::string &name, std::size_t size, CT *dataPtr)
Definition: ToolWrapper.h:47
columnar::ToolColumnVectorMap
a class that interfaces an IColumnarTool to a ColumnVectorHeader
Definition: ToolColumnVectorMap.h:30
columnar::TestUtils::ToolWrapperData
a class that holds a reference to a ToolColumnVectorMap and a ColumnVectorData
Definition: ToolWrapper.h:36
columnar::ToolColumnVectorMap::setColumn
void setColumn(ColumnVectorData &columnData, const std::string &name, std::size_t size, CT *dataPtr) const
set the data for the given column picking up the type via a template
Definition: ToolColumnVectorMap.h:79
columnar::TestUtils::ToolWrapperData::m_columnData
ColumnVectorData * m_columnData
Definition: ToolWrapper.h:60
columnar::size
std::size_t size() const noexcept
Definition: ObjectRange.h:166
ToolColumnVectorMap.h
columnar::TestUtils::ToolWrapperData::ToolWrapperData
ToolWrapperData(ColumnVectorData *val_columnData, const ToolColumnVectorMap *val_wrapper) noexcept
constructor: wrap the given tool
Definition: ToolWrapper.cxx:34
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
columnar::ColumnVectorData
a class that holds the columnar data for a single call
Definition: ColumnVectorWrapper.h:158
columnar::CT
CT
Definition: ColumnAccessor.h:160
columnar
Definition: ClusterDef.h:16