21 #ifndef __MIA_2DDATAFIELD_HH
22 #define __MIA_2DDATAFIELD_HH 1
34 #include <miaconfig.h>
36 #ifndef EXPORT_2DDATAFIELD
37 # define EXPORT_2DDATAFIELD EXPORT_2D
63 typedef typename data_array::iterator iterator;
64 typedef typename data_array::const_iterator const_iterator;
65 typedef typename data_array::const_reference const_reference;
66 typedef typename data_array::reference reference;
67 typedef typename data_array::const_pointer const_pointer;
68 typedef typename data_array::pointer pointer;
69 typedef typename data_array::value_type value_type;
70 typedef typename data_array::difference_type difference_type;
71 typedef typename data_array::size_type size_type;
118 T get_interpol_val_at(
const C2DFVector& p)
const;
124 void make_single_ref();
142 const_reference operator()(
size_t x,
size_t y)
const;
149 reference operator()(
size_t x,
size_t y);
160 return (*m_data)[idx];
172 return (*m_data)[idx];
176 const_reference operator()(
const C2DBounds& l)
const;
179 reference operator()(
const C2DBounds& l);
187 void get_data_line_x(
size_t y, std::vector<T>& buffer)
const;
194 void get_data_line_y(
size_t x, std::vector<T>& buffer)
const;
202 void put_data_line_x(
size_t y,
const std::vector<T>& buffer);
210 void put_data_line_y(
size_t x,
const std::vector<T>& buffer);
213 size_type size()
const;
222 const_iterator
end()
const {
233 return m_data->begin();
243 return m_data->end();
255 const_iterator b = begin();
256 advance(b, x + y * m_size.x);
266 iterator b = begin();
267 advance(b, x + y * m_size.x);