LSST Applications g0265f82a02+0e5473021a,g02d81e74bb+bd2ed33bd6,g1470d8bcf6+de7501a2e0,g14a832a312+ff425fae3c,g2079a07aa2+86d27d4dc4,g2305ad1205+91a32aca49,g295015adf3+762506a1ad,g2bbee38e9b+0e5473021a,g337abbeb29+0e5473021a,g3ddfee87b4+c34e8be1fa,g487adcacf7+5fae3daba8,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+ea1711114f,g5a732f18d5+53520f316c,g64a986408d+bd2ed33bd6,g858d7b2824+bd2ed33bd6,g8a8a8dda67+585e252eca,g99cad8db69+016a06b37a,g9ddcbc5298+9a081db1e4,ga1e77700b3+15fc3df1f7,ga8c6da7877+ef4e3a5875,gb0e22166c9+60f28cb32d,gb6a65358fc+0e5473021a,gba4ed39666+c2a2e4ac27,gbb8dafda3b+09e12c87ab,gc120e1dc64+bc2e06c061,gc28159a63d+0e5473021a,gcf0d15dbbd+c34e8be1fa,gdaeeff99f8+f9a426f77a,ge6526c86ff+508d0e0a30,ge79ae78c31+0e5473021a,gee10cc3b42+585e252eca,gf18bd8381d+8d59551888,gf1cff7945b+bd2ed33bd6,w.2024.16
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
lsst::afw::table::FieldBase< Flag > Struct Reference

Specialization for Flag fields. More...

#include <Flag.h>

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

Public Types

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

Public Member Functions

std::size_t getElementCount () const
 Return the number of subfield elements (always one for scalars).
 
 FieldBase ()=default
 
 FieldBase (std::size_t)
 
 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.
 

Protected Member Functions

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

Detailed Description

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

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 ( std::size_t )
inline

Definition at line 47 of file Flag.h.

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

◆ 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()

std::size_t 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 > && )
default

◆ operator=() [2/2]

FieldBase & lsst::afw::table::FieldBase< Flag >::operator= ( FieldBase< Flag > const & )
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: