23 #ifndef AFW_TABLE_arrays_h_INCLUDED 24 #define AFW_TABLE_arrays_h_INCLUDED 108 int getSize() const noexcept {
return _size; }
111 ndarray::Array<T const, 1, 1>
get(
BaseRecord const& record)
const override;
114 void set(
BaseRecord& record, ndarray::Array<T const, 1, 1>
const& value)
const override;
125 return other._begin == _begin && other._size == _size;
137 bool isValid() const noexcept {
return _begin.isValid(); }
146 ArrayKey(
Key<T> const& begin,
int size) noexcept : _begin(begin), _size(size) {}
156 template <
typename T>
164 #endif // !AFW_TABLE_arrays_h_INCLUDED Defines the fields and offsets for a table.
afw::table::Key< afw::table::Array< Scalar > > ArrayKey
Typedefs to be used for probability and parameter values.
A FunctorKey used to get or set a ndarray::Array from a sequence of scalar Keys.
A proxy type for name lookups in a Schema.
~ArrayKey() noexcept override
ArrayKey & operator=(ArrayKey const &) noexcept
ArrayKey slice(int begin, int end) const
Return a FunctorKey corresponding to a range of elements.
Key< T > operator[](int i) const
Return a scalar Key for an element of the array.
ArrayKey() noexcept
Default constructor; instance will not be usable unless subsequently assigned to. ...
ndarray::ArrayRef< T const, 1, 1 > getConstReference(BaseRecord const &record) const override
Get const reference array from the given record.
std::size_t hash_value() const noexcept
Return a hash of this object.
ndarray::ArrayRef< T, 1, 1 > getReference(BaseRecord &record) const override
Get non-const reference array from the given record.
A base class for image defects.
Base class for objects that can return a const reference to part of a record, but are not a true Key...
Tag types used to declare specialized field types.
bool operator!=(ArrayKey< T > const &other) const noexcept
Compare the FunctorKey for equality with another, using the underlying scalar Keys.
Base class for objects that can return a non-const reference to part of a record, but are not a true ...
Base class for all records.
A class used as a handle to a particular field in a table.
int getSize() const noexcept
Return the number of elements in the array.
ItemVariant const * other
std::size_t hashCombine(std::size_t seed) noexcept
Combine hashes.
Convenience base class that combines the OutputFunctorKey and InputFunctorKey.
bool isValid() const noexcept
Return True if the FunctorKey contains valid scalar keys.
bool operator==(ArrayKey< T > const &other) const noexcept
Compare the FunctorKey for equality with another, using the underlying scalar Keys.
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.
size_t operator()(argument_type const &obj) const noexcept