用于保存数据二维数组的模板类。
此数组中的数据以行优先顺序紧密地打包在一维向量中;也就是说,给定二维位置 (Point2D) 的任何值的向量索引为 index = location.x() + (location.y() * size.x());提供了使用迭代器、一维或二维坐标的索引运算符。
公共类型 | |
typedef T * | iterator |
公共成员函数 | |
Array2D () | |
默认构造函数。 更多... | |
Array2D (const Size2D< uint32_t > &size) | |
给定初始数组大小的构造函数。 更多... | |
Array2D (const Size2D< uint32_t > &size, const T &value) | |
给定初始数组大小和初始填充值的构造函数。 更多... | |
Array2D (const Array2D< T > &other) | |
复制构造函数。 更多... | |
Array2D & | operator= (const Array2D< T > &other) |
赋值运算符。 更多... | |
bool | operator== (const Array2D< T > &other) const |
相等运算符。 更多... | |
Size2D< uint32_t > | size () const |
返回数组的大小(维度)。 更多... | |
bool | resize (const Size2D< uint32_t > &size) |
调整数组大小。 更多... | |
const_iterator | begin () const |
STL 风格迭代器。 更多... | |
const_iterator | end () const |
iterator | begin () |
iterator | end () |
T & | operator[] (unsigned int i) |
使用 [] 运算符的数组索引。 更多... | |
const T & | operator[] (unsigned int i) const |
const T & | operator() (uint32_t i) const |
使用 () 运算符的数组索引。 更多... | |
const T & | operator() (uint32_t x, uint32_t y) const |
const T & | operator() (const Point2D< uint32_t > &p) const |
T & | operator() (uint32_t i) |
T & | operator() (uint32_t x, uint32_t y) |
T & | operator() (const Point2D< uint32_t > &p) |
const T * | data () const |
T * | data () |
数据字段 | |
const typedef T * | const_iterator |
typedef T* Argus::Array2D< T >::iterator |
|
inline |
|
inline |
给定初始数组大小的构造函数。
参考 Argus::Size2D< T >::height(), Argus::Array2D< T >::size(), 和 Argus::Size2D< T >::width()。
|
inline |
给定初始数组大小和初始填充值的构造函数。
参考 Argus::Size2D< T >::height(), Argus::Array2D< T >::size(), 和 Argus::Size2D< T >::width()。
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
调整数组大小。
调整大小后的数组内容是未定义的。布尔返回值在异常不可用时启用错误检查。
参考 Argus::Size2D< T >::height(), Argus::Array2D< T >::size(), 和 Argus::Size2D< T >::width()。
|
inline |
返回数组的大小(维度)。
被 Argus::Array2D< T >::Array2D(), 和 Argus::Array2D< T >::resize() 引用。
const typedef T* Argus::Array2D< T >::const_iterator |