LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
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 boost::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 ()
 
 FieldBase (int)
 

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 27 of file Flag.h.

Member Typedef Documentation

typedef boost::int64_t lsst::afw::table::FieldBase< Flag >::Element

the actual storage type (shared by multiple flag fields)

Definition at line 30 of file Flag.h.

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

the type returned by BaseRecord::get

Definition at line 29 of file Flag.h.

Constructor & Destructor Documentation

Definition at line 42 of file Flag.h.

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

Definition at line 43 of file Flag.h.

43  {
44  throw LSST_EXCEPT(
45  lsst::pex::exceptions::LogicError,
46  "Constructor disabled (it only appears to exist as a workaround for a SWIG bug)."
47  );
48  }
#define LSST_EXCEPT(type,...)
Definition: Exception.h:46

Member Function Documentation

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

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

Definition at line 33 of file Flag.h.

33 { return 1; }
static std::string lsst::afw::table::FieldBase< Flag >::getTypeString ( )
inlinestatic

Return a string description of the field type.

Definition at line 36 of file Flag.h.

36 { return "Flag"; }
void lsst::afw::table::FieldBase< Flag >::stream ( std::ostream &  os) const
inlineprotected

Defines how fields are printed.

Definition at line 54 of file Flag.h.

54 {}

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