Template Struct FieldBase< Flag >

Inheritance Relationships

Derived Types

Struct Documentation

template<>
struct FieldBase<Flag>

Specialization for Flag fields.

Flag fields are handled specially in many places, because their keys have both an offset into an integer element and the bit in that element; while other fields have one or more elements per field, Flags have multiple fields per element. This means we can’t put all the custom code for Flag in FieldBase, and because Flags have an explicit Key specialization, we put the record access implementation in Key.

Subclassed by lsst::afw::table::Field< Flag >, lsst::afw::table::Key< Flag >

Public Types

typedef bool Value

the type returned by BaseRecord::get

typedef std::int64_t Element

the actual storage type (shared by multiple flag fields)

Public Functions

int getElementCount() const

Return the number of subfield elements (always one for scalars).

FieldBase()
FieldBase(int)
FieldBase(FieldBase const&)
FieldBase(FieldBase&&)
FieldBase &operator=(FieldBase const&)
FieldBase &operator=(FieldBase&&)
~FieldBase()

Public Static Functions

static std::string getTypeString()

Return a string description of the field type.

Protected Functions

void stream(std::ostream &os) const

Defines how fields are printed.