Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
v
w
x
z
Files
File List
File Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
v
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
GitLab
LXR
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
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:287
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:
ColumnAccessor.h:23
columnar::ColumnAccessorDataArray::selfPtr
std::unique_ptr< ColumnAccessorDataArray > * selfPtr
a pointer to the smart pointer that holds this object
Definition:
ColumnAccessorDataArray.h:36
Generated on Thu Mar 13 2025 21:08:33 for ATLAS Offline Software by
1.8.18