ATLAS Offline Software
PhysicsAnalysis
Columnar
ColumnarCore
Root
ColumnAccessorDataArray.cxx
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
10
11
#include <
ColumnarCore/ColumnAccessorDataArray.h
>
12
13
#include <
ColumnarCore/ColumnarToolDataArray.h
>
14
15
18
19
namespace
columnar
20
{
21
ColumnAccessorDataArray ::
22
~ColumnAccessorDataArray
() noexcept
23
{
24
if
(
dataRef
)
25
dataRef
->
removeAccessor
(*
this
);
26
}
27
28
29
30
void
moveAccessor
(
unsigned
& dataIndex, std::unique_ptr<ColumnAccessorDataArray>& accessorData,
unsigned
& sourceIndex, std::unique_ptr<ColumnAccessorDataArray>& sourceData)
31
{
32
if
(accessorData !=
nullptr
)
33
throw
std::runtime_error (
"data already set, overwriting not yet supported"
);
34
35
dataIndex = sourceIndex;
36
sourceIndex = 0;
37
38
if
(sourceData)
39
{
40
if
(sourceData->
selfPtr
!= &sourceData)
41
throw
std::logic_error (
"selfPtr not set correctly"
);
42
43
accessorData = std::move (sourceData);
44
accessorData->
selfPtr
= &accessorData;
45
accessorData->
dataIndexPtr
= &dataIndex;
46
}
47
}
48
}
columnar::ColumnDataArray::removeAccessor
void removeAccessor(ColumnAccessorDataArray &val_accessorData)
remove an accessor data object
Definition:
ColumnarToolArray.cxx:306
columnar::ColumnAccessorDataArray::dataIndexPtr
unsigned * dataIndexPtr
a pointer to the index in the data vector
Definition:
ColumnAccessorDataArray.h:29
columnar::moveAccessor
void moveAccessor(unsigned &dataIndex, std::unique_ptr< ColumnAccessorDataArray > &accessorData, unsigned &sourceIndex, std::unique_ptr< ColumnAccessorDataArray > &sourceData)
Definition:
ColumnAccessorDataArray.cxx:30
columnar::ColumnAccessorDataArray::dataRef
ColumnDataArray * dataRef
the ColumnDataArray object that holds us
Definition:
ColumnAccessorDataArray.h:39
ColumnarToolDataArray.h
ColumnAccessorDataArray.h
columnar::ColumnAccessorDataArray::~ColumnAccessorDataArray
~ColumnAccessorDataArray() noexcept
standard destructor
Definition:
ColumnAccessorDataArray.cxx:22
columnar
Definition:
ClusterDef.h:16
columnar::ColumnAccessorDataArray::selfPtr
std::unique_ptr< ColumnAccessorDataArray > * selfPtr
a pointer to the smart pointer that holds this object
Definition:
ColumnAccessorDataArray.h:36
Generated on Mon Oct 27 2025 21:07:59 for ATLAS Offline Software by
1.8.18