ATLAS Offline Software
Loading...
Searching...
No Matches
IColumnarTool.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_INTERFACES_I_COLUMNAR_TOOL_H
9#define COLUMNAR_INTERFACES_I_COLUMNAR_TOOL_H
10
12#include <string>
13#include <vector>
14
15namespace columnar
16{
17 struct ColumnInfo;
18
19
188
190 {
191 public:
192 virtual ~IColumnarTool() = default;
193
194
205 virtual void callVoid (void** data) const = 0;
206
207
213 [[nodiscard]] virtual std::vector<ColumnInfo> getColumnInfo () const = 0;
214
215
229 virtual void renameColumn (const std::string& from, const std::string& to) = 0;
230
231
255 virtual void setColumnIndex (const std::string& name, std::size_t index) = 0;
256 };
257}
258
259#endif
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
an interface for tools that operate on columnar data
virtual void callVoid(void **data) const =0
run the tool on the data vector
virtual std::vector< ColumnInfo > getColumnInfo() const =0
the meta-information for the columns
virtual void renameColumn(const std::string &from, const std::string &to)=0
rename one of the columns the tool uses
virtual ~IColumnarTool()=default
virtual void setColumnIndex(const std::string &name, std::size_t index)=0
set the index for the column
Definition index.py:1
a struct that contains meta-information about each column that's needed to interface the column with ...
Definition ColumnInfo.h:35