atlas::field::MultiField class

MultiField class that owns a collection of fields that are co-allocated.

Fields can only be described by parametrisation during the construction. Once setup, no additional fields can be added.

Fields have to all be of same memory layout and data type

Constructors, destructors, conversion operators

MultiField(const eckit::Configuration&)
MultiField(const array::DataType datatype, const std::vector<int>& shape, const std::vector<std::string>& var_names)
operator const array::Array&() const
Implicit conversion to Array.
operator array::Array&()
operator const FieldSet&() const
operator FieldSet&()

Public functions

auto field(const std::string& name) const -> const Field&
auto field(const std::string& name) -> Field&
auto has(const std::string& name) const -> bool
auto field_names() const -> std::vector<std::string>
auto field(const idx_t idx) const -> const Field&
auto field(const idx_t idx) -> Field&
auto size() const -> idx_t
auto operator[](const idx_t idx) const -> const Field&
auto operator[](const idx_t idx) -> Field&
auto operator[](const std::string& name) const -> const Field&
auto operator[](const std::string& name) -> Field&
auto metadata() const -> const util::Metadata&
auto metadata() -> util::Metadata&
auto array() const -> const array::Array&
Access contained Array.
auto array() -> array::Array&