Template Class Key< Flag >

Inheritance Relationships

Base Types

Class Documentation

template<>
class Key<Flag> : public lsst::afw::table::KeyBase<Flag>, public lsst::afw::table::FieldBase<Flag>

Key specialization for Flag.

Flag fields are special; their keys need to contain not only the offset to the integer element they share with other Flag fields, but also their position in that shared field.

Flag fields operate mostly like a bool field, but they do not support reference access, and internally they are packed into an integer shared by multiple fields so the marginal cost of each Flag field is only one bit.

Unnamed Group

template<typename OtherT>
bool operator==(Key<OtherT> const &other) const

Equality comparison.

Two keys with different types are never equal. Keys with the same type are equal if they point to the same location in a table, regardless of what Schema they were constructed from (for instance, if a field has a different name in one Schema than another, but is otherwise the same, the two keys will be equal).

template<typename OtherT>
bool operator!=(Key<OtherT> const &other) const
bool operator==(Key const &other) const
bool operator!=(Key const &other) const

Public Functions

std::size_t hash_value() const

Return a hash of this object.

int getOffset() const

Return the offset in bytes of the integer element that holds this field’s bit.

int getBit() const

The index of this field’s bit within the integer it shares with other Flag fields.

bool isValid() const

Return true if the key was initialized to valid offset.

This does not guarantee that a key is valid with any particular schema, or even that any schemas still exist in which this key is valid.

A key that is default constructed will always be invalid.

Key()

Default construct a field.

The new field will be invalid until a valid Key is assigned to it.

Key(Key const&)
Key(Key&&)
Key &operator=(Key const&)
Key &operator=(Key&&)
~Key()

Friends

friend lsst::afw::table::Key< Flag >::detail::Access
std::ostream &operator<<(std::ostream &os, Key<Flag> const &key)

Stringification.