ATLAS Offline Software
Loading...
Searching...
No Matches
ColumnAccessorDataArray.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_CORE_COLUMN_ACCESSOR_DATA_ARRAY_H
9#define COLUMNAR_CORE_COLUMN_ACCESSOR_DATA_ARRAY_H
10
13#include <memory>
14
15namespace columnar
16{
17 template<typename CM> class ColumnarTool;
18 struct ColumnDataArray;
19
23 {
29 unsigned *dataIndexPtr = nullptr;
30
36 std::unique_ptr<ColumnAccessorDataArray> *selfPtr = nullptr;
37
40
42 const std::type_info *type = nullptr;
43
46
48 ColumnAccessorDataArray (unsigned *val_dataIndexPtr, std::unique_ptr<ColumnAccessorDataArray> *val_selfPtr, const std::type_info *val_type, ColumnAccessMode val_accessMode) noexcept
49 : dataIndexPtr (val_dataIndexPtr), selfPtr (val_selfPtr), type (val_type), accessMode (val_accessMode) {}
50
52 ~ColumnAccessorDataArray () noexcept;
53 };
54
55 void moveAccessor (unsigned& dataIndex, std::unique_ptr<ColumnAccessorDataArray>& accessorData, unsigned& sourceIndex, std::unique_ptr<ColumnAccessorDataArray>& sourceData);
56}
57
58#endif
the base class for all columnar components
STL class.
void moveAccessor(unsigned &dataIndex, std::unique_ptr< ColumnAccessorDataArray > &accessorData, unsigned &sourceIndex, std::unique_ptr< ColumnAccessorDataArray > &sourceData)
ColumnAccessMode
an enum for the different access modes for a column
Definition ColumnInfo.h:19
STL namespace.
all the data about a column accessor that the ColumnarTool needs to know about
unsigned * dataIndexPtr
a pointer to the index in the data vector
const std::type_info * type
the type of the column elements
ColumnDataArray * dataRef
the ColumnDataArray object that holds us
~ColumnAccessorDataArray() noexcept
standard destructor
ColumnAccessMode accessMode
the access mode for the column
ColumnAccessorDataArray(unsigned *val_dataIndexPtr, std::unique_ptr< ColumnAccessorDataArray > *val_selfPtr, const std::type_info *val_type, ColumnAccessMode val_accessMode) noexcept
initializing constructor
std::unique_ptr< ColumnAccessorDataArray > * selfPtr
a pointer to the smart pointer that holds this object