7 #ifndef VIL_NITF2_ARRAY_FIELD_H 8 #define VIL_NITF2_ARRAY_FIELD_H 13 # include <vcl_msvc_warnings.h> 67 int variable_width) = 0;
75 int variable_width)
const = 0;
77 field_tree*
get_tree()
const override;
125 #endif // VIL_NITF2_ARRAY_FIELD_H
virtual bool value(const vil_nitf2_index_vector &, void *&) const
vxl_int_32 vil_nitf2_long
virtual bool value(const vil_nitf2_index_vector &, std::string &) const
int next_dimension(const vil_nitf2_index_vector &indexes) const
Given a partial index vector, return value of next dimension (or zero if none).
void do_dimension(const vil_nitf2_index_vector &index, vil_nitf2_field::field_tree *tr) const
vil_nitf2_array_field(vil_nitf2_field_definition *definition, int num_dimensions)
virtual bool value(const vil_nitf2_index_vector &, vil_nitf2_tagged_record_sequence &) const
Stream interface for VIL image loaders.
bool check_index(const vil_nitf2_index_vector &indexes) const
Compares index vector against value dimensions.
virtual bool value(const vil_nitf2_index_vector &, char &) const
virtual bool value(const vil_nitf2_index_vector &, double &) const
virtual bool read_vector_element(vil_nitf2_istream &input, const vil_nitf2_index_vector &indexes, int variable_width)=0
Reads from input stream the scalar value at specified index.
virtual bool write_vector_element(vil_nitf2_ostream &output, const vil_nitf2_index_vector &indexes, int variable_width) const =0
Writes to output stream the scalar value at specified index.
virtual bool value(const vil_nitf2_index_vector &, int &) const
Sets out_value to the value of the element selected by specified index vector, which must satisfy che...
Abstract class for array fields, i.e., fields that occur within a repeat loop.
std::string get_value_string(const vil_nitf2_index_vector &in_indices) const
virtual bool value(const vil_nitf2_index_vector &, vil_nitf2_date_time &) const
virtual std::ostream & output(std::ostream &os) const =0
virtual bool value(const vil_nitf2_index_vector &, vil_nitf2_location *&) const
void set_next_dimension(const vil_nitf2_index_vector &indexes, int bound)
Given a partial index vector, set the value of the next dimension.
field_tree * get_tree() const override
int m_num_dimensions
Dimensionality of vector field.
~vil_nitf2_array_field() override=default
int num_dimensions() const override
Number of dimensions.
std::map< vil_nitf2_index_vector, int > m_dimensions_map
Because a repeating field's dimension can depend on the value of another repeating field,...