LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
LSST Data Management Base Package
|
Key specialization for Flag. More...
#include <Flag.h>
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 | |
template<typename OtherT > | |
bool | operator== (Key< OtherT > const &other) const |
Equality comparison. | |
template<typename OtherT > | |
bool | operator!= (Key< OtherT > const &other) const |
bool | operator== (Key const &other) const |
bool | operator!= (Key const &other) const |
std::size_t | hash_value () const noexcept |
Return a hash of this object. | |
std::size_t | getOffset () const |
Return the offset in bytes of the integer element that holds this field's bit. | |
std::size_t | 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. | |
Key () | |
Default construct a field. | |
Key (Key const &)=default | |
Key (Key &&)=default | |
Key & | operator= (Key const &)=default |
Key & | operator= (Key &&)=default |
~Key ()=default | |
Key< FieldBase< Flag >::Element > | getStorage () const |
Return a key corresponding to the integer element where this field's bit is packed. | |
std::size_t | getElementCount () const |
Return the number of subfield elements (always one for scalars). | |
Static Public Member Functions | |
static std::string | getTypeString () |
Return a string description of the field type. | |
Static Public Attributes | |
static bool const | HAS_NAMED_SUBFIELDS = false |
Protected Member Functions | |
void | stream (std::ostream &os) const |
Defines how fields are printed. | |
Friends | |
class | detail::Access |
class | BaseRecord |
std::ostream & | operator<< (std::ostream &os, Key< Flag > const &key) |
Stringification. | |
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.
|
inherited |
|
inherited |
the type returned by BaseRecord::get
|
inline |
|
default |
|
default |
|
default |
|
inline |
|
inlineinherited |
|
inline |
|
inherited |
Return a key corresponding to the integer element where this field's bit is packed.
Definition at line 15 of file KeyBase.cc.
|
inlinestaticinherited |
|
inlinenoexcept |
Return a hash of this object.
Definition at line 120 of file Flag.h.
|
inline |
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.
Definition at line 139 of file Flag.h.
|
inline |
Definition at line 116 of file Flag.h.
|
default |
|
default |
|
inline |
|
inline |
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).
Definition at line 107 of file Flag.h.
|
inlineprotectedinherited |
|
friend |
|
friend |
|
friend |
Stringification.
Definition at line 155 of file Flag.h.
|
staticinherited |