23#ifndef AFW_TABLE_arrays_h_INCLUDED
24#define AFW_TABLE_arrays_h_INCLUDED
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;
133 return utils::hashCombine(17, _begin, _size);
table::Key< std::string > name
Tag types used to declare specialized field types.
A FunctorKey used to get or set a ndarray::Array from a sequence of scalar Keys.
Key< T > operator[](std::size_t i) const
Return a scalar Key for an element of the array.
ArrayKey(ArrayKey &&) noexcept
ndarray::Array< T const, 1, 1 > get(BaseRecord const &record) const override
Get an array from the given record.
ArrayKey(ArrayKey const &) noexcept
std::size_t hash_value() const noexcept
Return a hash of this object.
std::size_t getSize() const noexcept
Return the number of elements in the array.
ArrayKey slice(std::size_t begin, std::size_t end) const
Return a FunctorKey corresponding to a range of elements.
ndarray::ArrayRef< T const, 1, 1 > getConstReference(BaseRecord const &record) const override
Get const reference array from the given record.
ArrayKey() noexcept
Default constructor; instance will not be usable unless subsequently assigned to.
bool isValid() const noexcept
Return True if the FunctorKey contains valid 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.
bool operator!=(ArrayKey< T > const &other) const noexcept
ndarray::ArrayRef< T, 1, 1 > getReference(BaseRecord &record) const override
Get non-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.
Base class for all records.
Base class for objects that can return a const reference to part of a record, but are not a true Key.
Convenience base class that combines the OutputFunctorKey and InputFunctorKey.
A class used as a handle to a particular field in a table.
Base class for objects that can return a non-const reference to part of a record, but are not a true ...
Defines the fields and offsets for a table.
A proxy type for name lookups in a Schema.
daf::base::PropertySet * set
size_t operator()(argument_type const &obj) const noexcept