 |
ATLAS Offline Software
|
Go to the documentation of this file.
12 #ifndef IDDICT_IDDICTFIELDIMPLEMENTATION_H
13 # define IDDICT_IDDICTFIELDIMPLEMENTATION_H
17 #include "Identifier/Identifier.h"
100 void show (
void)
const;
153 if (m_decode_index)
field = m_ored_field.get_value_at (
index);
178 if (m_decode_index)
index = m_ored_field.get_value_index (
value);
179 id |= (
index << m_shift);
187 id &= m_zeroing_mask;
299 #endif // IDDICT_IDDICTFIELDIMPLEMENTATION_H
Identifier::value_type value_type
void set_field(const Range::field &field)
IdDictFieldImplementation()
size_type get_bits() const
std::string show_to_string(void) const
void pack(int value, Identifier &id) const
bool decode_index() const
bool const RAWDATA *ch2 const
const IdDictRange * m_range
int unpack(Identifier id) const
Identifier manipulation methods.
void set_bits_offset(size_type bits_offset)
void reset(Identifier &id) const
size_type unpackToIndex(Identifier id) const
Unpack a single field index of the id.
const Range::field & field() const
void set_ored_field(const Range::field &ored_field)
value_type m_zeroing_mask
void set_bits(size_type bits, size_type bits_offset)
size_type bits_offset() const
const Range::field & ored_field() const
const IdDictRange * range() const
Accessors.
void set_range(const IdDictRange *range)
Modifiers.
value_type zeroing_mask() const
void set_decode_index(bool decode_index)
This is the individual specification for the range of one ExpandedIdentifier IdentifierField.
unsigned long long value_type
Range::field m_ored_field
unsigned long long size_type
void optimize()
Optimize - try to switch mode to both_bounded, set up lookup table for finding index from value.
IdDictFieldImplementation is used to capture the specification of a single field of an Identifier.
Identifier::size_type size_type