ATLAS Offline Software
Loading...
Searching...
No Matches
ColumnInfo.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_COLUMN_INFO_H
9#define COLUMNAR_INTERFACES_COLUMN_INFO_H
10
11#include <string>
12#include <typeinfo>
13#include <vector>
14
15namespace columnar
16{
19 {
22
25
28 };
29
30
33
34 struct ColumnInfo final
35 {
42 std::string name {};
43
44
46 unsigned index = 0u;
47
48
54 const std::type_info *type = nullptr;
55
56
59
60
74 std::string offsetName {};
75
76
82 std::vector<unsigned> fixedDimensions {};
83
84
92 bool isOffset = false;
93
94
102 std::string replacesColumn {};
103
104
121 bool isOptional = false;
122
123
131 std::string soleLinkTargetName {};
132
133
139 bool isVariantLink = false;
140
141
162 std::vector<std::string> variantLinkTargetNames {};
163
164
178 };
179}
180
181#endif
ColumnAccessMode
an enum for the different access modes for a column
Definition ColumnInfo.h:19
@ update
an updateable column
Definition ColumnInfo.h:27
@ output
an output column
Definition ColumnInfo.h:24
@ input
an input column
Definition ColumnInfo.h:21
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
std::string offsetName
the name of the offset column used for this column (or empty string for none)
Definition ColumnInfo.h:74
std::string soleLinkTargetName
for simple link columns: the name of the target container
Definition ColumnInfo.h:131
std::string keyColumnForVariantLink
if this is a key column for a variant link, the name of the associated link column
Definition ColumnInfo.h:177
std::vector< unsigned > fixedDimensions
the fixed dimensions this column has (if any)
Definition ColumnInfo.h:82
bool isOptional
whether this column is optional
Definition ColumnInfo.h:121
std::vector< std::string > variantLinkTargetNames
for variant link key columns: the names of the containers we can link to
Definition ColumnInfo.h:162
std::string name
the name of the column
Definition ColumnInfo.h:42
bool isOffset
whether this is an offset column
Definition ColumnInfo.h:92
ColumnAccessMode accessMode
the access mode for the column
Definition ColumnInfo.h:58
std::string replacesColumn
whether this replaces another column
Definition ColumnInfo.h:102
bool isVariantLink
whether this is a variant link column
Definition ColumnInfo.h:139
const std::type_info * type
the type of the individual entries in the column
Definition ColumnInfo.h:54