ATLAS Offline Software
Loading...
Searching...
No Matches
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
20namespace 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
59
61 };
62 }
63}
64
65#endif
a class that holds the columnar data for a single call
an interface for tools that operate on columnar data
const ToolColumnVectorMap * m_wrapper
Definition ToolWrapper.h:58
ToolWrapperData(ColumnVectorData *val_columnData, const ToolColumnVectorMap *val_wrapper) noexcept
constructor: wrap the given tool
void setColumn(const std::string &name, std::size_t size, CT *dataPtr)
Definition ToolWrapper.h:47
a class that interfaces an IColumnarTool to a ColumnVectorHeader
a struct that contains meta-information about each column that's needed to interface the column with ...
Definition ColumnInfo.h:35