ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
AthDevice
AthDeviceUtils
AthDeviceUtils
details
AccessorTuple.h
Go to the documentation of this file.
1
// Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
#ifndef ATHDEVICEUTILS_DETAILS_ACCESSORTUPLE_H
3
#define ATHDEVICEUTILS_DETAILS_ACCESSORTUPLE_H
4
5
// Local include(s).
6
#include "
AthDeviceUtils/SoAColumn.h
"
7
8
// VecMem include(s).
9
#include <vecmem/edm/schema.hpp>
10
11
// System include(s).
12
#include <tuple>
13
14
namespace
AthDevice::Details
{
15
17
template
<
typename
T>
18
struct
AccessorTuple
;
19
21
template
<
typename
... VARTYPES>
22
struct
AccessorTuple
<vecmem::edm::schema<VARTYPES...>> {
23
29
template
<
Concepts::SoAColumn
... COLUMNS>
30
static
auto
get_const
(
const
std::tuple<COLUMNS...>& columns);
31
37
template
<
Concepts::SoAColumn
... COLUMNS>
38
static
auto
get_nc
(
const
std::tuple<COLUMNS...>& columns);
39
40
};
// struct AccessorTuple
41
42
}
// namespace AthDevice::Details
43
44
// Include the implementation.
45
#include "
AthDeviceUtils/impl/AccessorTuple.icc
"
46
47
#endif
// ATHDEVICEUTILS_DETAILS_ACCESSORTUPLE_H
AccessorTuple.icc
SoAColumn.h
AthDevice::Concepts::SoAColumn
Concept for an SoA column.
Definition
SoAColumn.h:25
AthDevice::Details
Definition
AccessorTuple.h:14
AthDevice::Details::AccessorTuple< vecmem::edm::schema< VARTYPES... > >::get_nc
static auto get_nc(const std::tuple< COLUMNS... > &columns)
Get a tuple of (non-const) accessors for the given column definitions.
AthDevice::Details::AccessorTuple< vecmem::edm::schema< VARTYPES... > >::get_const
static auto get_const(const std::tuple< COLUMNS... > &columns)
Get a tuple of (const) accessors for the given column definitions.
AthDevice::Details::AccessorTuple
Base type for the schema specific specialization of AccessorTuple.
Definition
AccessorTuple.h:18
Generated on
for ATLAS Offline Software by
1.17.0