LSSTApplications  18.0.0+106,18.0.0+50,19.0.0,19.0.0+1,19.0.0+10,19.0.0+11,19.0.0+13,19.0.0+17,19.0.0+2,19.0.0-1-g20d9b18+6,19.0.0-1-g425ff20,19.0.0-1-g5549ca4,19.0.0-1-g580fafe+6,19.0.0-1-g6fe20d0+1,19.0.0-1-g7011481+9,19.0.0-1-g8c57eb9+6,19.0.0-1-gb5175dc+11,19.0.0-1-gdc0e4a7+9,19.0.0-1-ge272bc4+6,19.0.0-1-ge3aa853,19.0.0-10-g448f008b,19.0.0-12-g6990b2c,19.0.0-2-g0d9f9cd+11,19.0.0-2-g3d9e4fb2+11,19.0.0-2-g5037de4,19.0.0-2-gb96a1c4+3,19.0.0-2-gd955cfd+15,19.0.0-3-g2d13df8,19.0.0-3-g6f3c7dc,19.0.0-4-g725f80e+11,19.0.0-4-ga671dab3b+1,19.0.0-4-gad373c5+3,19.0.0-5-ga2acb9c+2,19.0.0-5-gfe96e6c+2,w.2020.01
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
lsst::afw::table::FieldBase< Flag > Struct Template Reference

Specialization for Flag fields. More...

#include <Flag.h>

Inheritance diagram for lsst::afw::table::FieldBase< Flag >:
lsst::afw::table::Field< Flag > lsst::afw::table::Key< Flag >

Public Types

typedef bool Value
 the type returned by BaseRecord::get More...
 
typedef std::int64_t Element
 the actual storage type (shared by multiple flag fields) More...
 

Public Member Functions

int getElementCount () const
 Return the number of subfield elements (always one for scalars). More...
 
 FieldBase ()=default
 
 FieldBase (int)
 
 FieldBase (FieldBase const &)=default
 
 FieldBase (FieldBase &&)=default
 
FieldBaseoperator= (FieldBase const &)=default
 
FieldBaseoperator= (FieldBase &&)=default
 
 ~FieldBase ()=default
 

Static Public Member Functions

static std::string getTypeString ()
 Return a string description of the field type. More...
 

Protected Member Functions

void stream (std::ostream &os) const
 Defines how fields are printed. More...
 

Detailed Description

template<>
struct lsst::afw::table::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.

Definition at line 33 of file Flag.h.

Member Typedef Documentation

◆ Element

the actual storage type (shared by multiple flag fields)

Definition at line 35 of file Flag.h.

◆ Value

typedef bool lsst::afw::table::FieldBase< Flag >::Value

the type returned by BaseRecord::get

Definition at line 34 of file Flag.h.

Constructor & Destructor Documentation

◆ FieldBase() [1/4]

lsst::afw::table::FieldBase< Flag >::FieldBase ( )
default

◆ FieldBase() [2/4]

lsst::afw::table::FieldBase< Flag >::FieldBase ( int  )
inline

Definition at line 47 of file Flag.h.

47  {
49  "Constructor disabled (this Field type is not sized).");
50  }
Reports errors in the logical structure of the program.
Definition: Runtime.h:46
#define LSST_EXCEPT(type,...)
Create an exception with a given type.
Definition: Exception.h:48

◆ FieldBase() [3/4]

lsst::afw::table::FieldBase< Flag >::FieldBase ( FieldBase< Flag > const &  )
default

◆ FieldBase() [4/4]

lsst::afw::table::FieldBase< Flag >::FieldBase ( FieldBase< Flag > &&  )
default

◆ ~FieldBase()

lsst::afw::table::FieldBase< Flag >::~FieldBase ( )
default

Member Function Documentation

◆ getElementCount()

int lsst::afw::table::FieldBase< Flag >::getElementCount ( ) const
inline

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

Definition at line 38 of file Flag.h.

38 { return 1; }

◆ getTypeString()

static std::string lsst::afw::table::FieldBase< Flag >::getTypeString ( )
inlinestatic

Return a string description of the field type.

Definition at line 41 of file Flag.h.

41 { return "Flag"; }

◆ operator=() [1/2]

FieldBase& lsst::afw::table::FieldBase< Flag >::operator= ( FieldBase< Flag > const &  )
default

◆ operator=() [2/2]

FieldBase& lsst::afw::table::FieldBase< Flag >::operator= ( FieldBase< Flag > &&  )
default

◆ stream()

void lsst::afw::table::FieldBase< Flag >::stream ( std::ostream os) const
inlineprotected

Defines how fields are printed.

Definition at line 60 of file Flag.h.

60 {}

The documentation for this struct was generated from the following file: