ATLAS Offline Software
AuxTypes.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 */
15 #ifndef ATHCONTAINERSINTERFACES_AUXTYPES_H
16 #define ATHCONTAINERSINTERFACES_AUXTYPES_H
17 
18 
19 #include <cstddef>
21 #include "CxxUtils/bitmask.h"
22 
23 
24 namespace SG {
25 
27 typedef size_t auxid_t;
28 
30 static const auxid_t null_auxid = static_cast<auxid_t> (-1);
31 
35 
40 static const auxid_t auxid_set_size_hint = 2048;
41 
42 
47 {
48 public:
50  auxid_set_t (size_t nbits = auxid_set_size_hint)
51  : CxxUtils::ConcurrentBitset (nbits)
52  {
53  }
54 };
55 
56 
60  None = 0x00,
61 
70  Atomic = 0x01,
71 
72  // These flags control the behavior of findAuxID() but are not
73  // stored with the variable.
74  SkipNameCheck = 0x80,
75 
78 };
79 
80 
81 } // namespace SG
82 
83 
84 
85 #endif // not ATHCONTAINERSINTERFACES_AUXTYPES_H
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
SG::SkipNameCheck
@ SkipNameCheck
Definition: AuxTypes.h:74
ConcurrentBitset.h
Variable-sized bitset allowing (mostly) concurrent access.
CxxUtils::ConcurrentBitset
Variable-sized bitset allowing (mostly) concurrent access.
Definition: ConcurrentBitset.h:146
CxxUtils::ConcurrentBitset::ConcurrentBitset
ConcurrentBitset(bit_t nbits=0)
Constructor.
Definition: ConcurrentBitset.cxx:26
SG::auxid_t
size_t auxid_t
Identifier for a particular aux data item.
Definition: AuxTypes.h:27
CxxUtils
Definition: aligned_vector.h:29
SG::AuxTypePlaceholder
Used as type_info when we read an aux data item but it doesn't exist in the registry.
Definition: AuxTypes.h:34
bitmask.h
Helpers for treating a class enum as a bitmask.
SG::AuxVarFlags
AuxVarFlags
Additional flags to qualify an auxiliary variable.
Definition: AuxTypes.h:58
SG::None
@ None
No special flags set.
Definition: AuxTypes.h:60
SG::auxid_set_t::auxid_set_t
auxid_set_t(size_t nbits=auxid_set_size_hint)
Definition: AuxTypes.h:50
SG::Atomic
@ Atomic
Mark that this variable should only be accessed atomically.
Definition: AuxTypes.h:70
SG::auxid_set_t
A set of aux data identifiers.
Definition: AuxTypes.h:47
SG::ATH_BITMASK
@ ATH_BITMASK
Enable bitwise functions on this enum; see bitmask.h.
Definition: AuxTypes.h:77