ATLAS Offline Software
Loading...
Searching...
No Matches
LinkedVarAccessorBase.h
Go to the documentation of this file.
1// This file's extension implies that it's C, but it's really -*- C++ -*-.
2/*
3 * Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration.
4 */
11
12
13#ifndef ATHCONTAINERS_LINKEDVARACCESSORBASE_H
14#define ATHCONTAINERS_LINKEDVARACCESSORBASE_H
15
16
19#include <cstdint>
20
21
22namespace SG { namespace detail {
23
24
29{
30public:
35 template <class ELT>
36 requires (IsConstAuxElement<ELT>)
37 bool isAvailable (const ELT& e) const;
38
39
44 bool isAvailable (const AuxVectorData& e) const;
45
46
51
52
57
58
59protected:
60 // Store these as uint32_t rather than auxid_t since we're going to want
61 // to be able to create temporary instances of this.
63 uint32_t m_linkedAuxid = 0;
64
66 uint32_t m_auxid = 0;
67};
68
69
70} } // namespace SG::detail
71
72
74
75
76#endif // not ATHCONTAINERS_LINKEDVARACCESSORBASE_H
Basic definitions for auxiliary types.
Manage lookup of vectors of auxiliary data.
Base class usable for accessors for variables with linked variables.
SG::auxid_t auxid() const
Return the aux id for this variable.
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
uint32_t m_linkedAuxid
The cached auxid for the linked payload vector.
bool isAvailable(const AuxVectorData &e) const
Test to see if this variable exists in the store.
SG::auxid_t linkedAuxid() const
Return the aux id for the linked payload vector.
Test if T is compatible with ConstAuxElement.
Forward declaration.
size_t auxid_t
Identifier for a particular aux data item.
Definition AuxTypes.h:27