LSST Applications g0f08755f38+c89d42e150,g1635faa6d4+b6cf076a36,g1653933729+a8ce1bb630,g1a0ca8cf93+4c08b13bf7,g28da252d5a+f33f8200ef,g29321ee8c0+0187be18b1,g2bbee38e9b+9634bc57db,g2bc492864f+9634bc57db,g2cdde0e794+c2c89b37c4,g3156d2b45e+41e33cbcdc,g347aa1857d+9634bc57db,g35bb328faa+a8ce1bb630,g3a166c0a6a+9634bc57db,g3e281a1b8c+9f2c4e2fc3,g414038480c+077ccc18e7,g41af890bb2+e740673f1a,g5fbc88fb19+17cd334064,g7642f7d749+c89d42e150,g781aacb6e4+a8ce1bb630,g80478fca09+f8b2ab54e1,g82479be7b0+e2bd23ab8b,g858d7b2824+c89d42e150,g9125e01d80+a8ce1bb630,g9726552aa6+10f999ec6a,ga5288a1d22+065360aec4,gacf8899fa4+9553554aa7,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gbd46683f8f+ac57cbb13d,gc28159a63d+9634bc57db,gcf0d15dbbd+e37acf7834,gda3e153d99+c89d42e150,gda6a2b7d83+e37acf7834,gdaeeff99f8+1711a396fd,ge2409df99d+cb1e6652d6,ge79ae78c31+9634bc57db,gf0baf85859+147a0692ba,gf3967379c6+02b11634a5,w.2024.45
LSST Data Management Base Package
|
A FunctorKey used to get or set a ndarray::Array from a sequence of scalar Keys. More...
#include <arrays.h>
Public Types | |
using | Value |
The data type for get and set. | |
Public Member Functions | |
ArrayKey () noexcept | |
Default constructor; instance will not be usable unless subsequently assigned to. | |
ArrayKey (std::vector< Key< T > > const &keys) | |
Construct from a vector of scalar Keys. | |
ArrayKey (Key< Array< T > > const &other) noexcept | |
Construct from a compound Key< Array<T> > | |
ArrayKey (SubSchema const &s) | |
Construct from a subschema, assuming *_0, *_1, *_2, etc. | |
ArrayKey (ArrayKey const &) noexcept | |
ArrayKey (ArrayKey &&) noexcept | |
ArrayKey & | operator= (ArrayKey const &) noexcept |
ArrayKey & | operator= (ArrayKey &&) noexcept |
~ArrayKey () noexcept override | |
std::size_t | getSize () const noexcept |
Return the number of elements in the array. | |
ndarray::Array< T const, 1, 1 > | get (BaseRecord const &record) const override |
Get an array from the given record. | |
void | set (BaseRecord &record, ndarray::Array< T const, 1, 1 > const &value) const override |
Set an array in the given record. | |
ndarray::ArrayRef< T, 1, 1 > | getReference (BaseRecord &record) const override |
Get non-const reference array from the given record. | |
ndarray::ArrayRef< T const, 1, 1 > | getConstReference (BaseRecord const &record) const override |
Get const reference array from the given record. | |
bool | operator== (ArrayKey< T > const &other) const noexcept |
Compare the FunctorKey for equality with another, using the underlying scalar Keys. | |
bool | operator!= (ArrayKey< T > const &other) const noexcept |
std::size_t | hash_value () const noexcept |
Return a hash of this object. | |
bool | isValid () const noexcept |
Return True if the FunctorKey contains valid scalar keys. | |
Key< T > | operator[] (std::size_t i) const |
Return a scalar Key for an element of the array. | |
ArrayKey | slice (std::size_t begin, std::size_t end) const |
Return a FunctorKey corresponding to a range of elements. | |
virtual void | set (BaseRecord &record, T const &value) const =0 |
Static Public Member Functions | |
static ArrayKey | addFields (Schema &schema, std::string const &name, std::string const &doc, std::string const &unit, std::vector< T > const &docData) |
Add an array of fields to a Schema, and return an ArrayKey that points to them. | |
static ArrayKey | addFields (Schema &schema, std::string const &name, std::string const &doc, std::string const &unit, size_t size) |
Add an array of fields to a Schema, and return an ArrayKey that points to them. | |
A FunctorKey used to get or set a ndarray::Array from a sequence of scalar Keys.
ArrayKey operates on the convention that arrays are defined by a set of contiguous scalar fields (i.e. added to the Schema in order, with no interruption) of the same type, with a common field name prefix and "_0", "_1" etc. suffixes.
|
inherited |
The data type for get and set.
Definition at line 77 of file FunctorKey.h.
|
inlinenoexcept |
|
explicit |
Construct from a vector of scalar Keys.
Definition at line 66 of file arrays.cc.
|
explicitnoexcept |
Construct from a compound Key< Array<T> >
Key< Array<T> > is needed in some cases, but ArrayKey should be preferred in new code when possible. This converting constructor is intended to aid compatibility between the two.
Definition at line 78 of file arrays.cc.
|
explicit |
Construct from a subschema, assuming *_0, *_1, *_2, etc.
subfields
If a schema has "a_0", "a_1", and "a_2" fields, this constructor allows you to construct a 3-element ArrayKey via:
ArrayKey<T> k(schema["a"]);
Definition at line 81 of file arrays.cc.
|
defaultnoexcept |
|
defaultnoexcept |
|
overridedefaultnoexcept |
|
static |
Add an array of fields to a Schema, and return an ArrayKey that points to them.
[in,out] | schema | Schema to add fields to. |
[in] | name | Name prefix for all fields; "_0", "_1", etc. will be appended to this to form the full field names. |
[in] | doc | String used as the documentation for the fields. |
[in] | unit | String used as the unit for all fields. |
[in] | size | Number of fields to add. |
Definition at line 51 of file arrays.cc.
|
static |
Add an array of fields to a Schema, and return an ArrayKey that points to them.
[in,out] | schema | Schema to add fields to. |
[in] | name | Name prefix for all fields; "_0", "_1", etc. will be appended to this to form the full field names. |
[in] | doc | String used as the documentation for the fields. Should include a single boost::format template string, which will be substituted with the appropriate element from the docData array to form the full documentation string. |
[in] | unit | String used as the unit for all fields. |
[in] | docData | Vector of values substituted into the doc fields. The length of the vector determines the number of fields added. |
Definition at line 35 of file arrays.cc.
|
overridevirtual |
Get an array from the given record.
Implements lsst::afw::table::OutputFunctorKey< T >.
Definition at line 109 of file arrays.cc.
|
overridevirtual |
Get const reference array from the given record.
Implements lsst::afw::table::ConstReferenceFunctorKey< ndarray::ArrayRef< T const, 1, 1 > >.
Definition at line 129 of file arrays.cc.
|
overridevirtual |
Get non-const reference array from the given record.
Implements lsst::afw::table::ReferenceFunctorKey< ndarray::ArrayRef< T, 1, 1 > >.
Definition at line 123 of file arrays.cc.
|
inlinenoexcept |
|
inlinenoexcept |
Return a hash of this object.
Definition at line 131 of file arrays.h.
|
inlinenoexcept |
Return True if the FunctorKey contains valid scalar keys.
Definition at line 137 of file arrays.h.
|
inlinenoexcept |
Definition at line 127 of file arrays.h.
|
defaultnoexcept |
|
defaultnoexcept |
|
inlinenoexcept |
Compare the FunctorKey for equality with another, using the underlying scalar Keys.
Definition at line 124 of file arrays.h.
Key< T > lsst::afw::table::ArrayKey< T >::operator[] | ( | std::size_t | i | ) | const |
Return a scalar Key for an element of the array.
Definition at line 135 of file arrays.cc.
|
override |
Set an array in the given record.
Definition at line 115 of file arrays.cc.
|
pure virtualinherited |
ArrayKey< T > lsst::afw::table::ArrayKey< T >::slice | ( | std::size_t | begin, |
std::size_t | end ) const |
Return a FunctorKey corresponding to a range of elements.
Definition at line 143 of file arrays.cc.