43 template <
typename DataType>
48 std::vector<std::vector<DataType> > _matrix;
66 Matrix(
size_t dim1,
size_t dim2, DataType init);
84 return _matrix[index];
92 const std::vector<DataType> &
operator[](
unsigned int index)
const
94 return _matrix[index];
105 _matrix.resize(dim_1);
106 for (
size_t i=0; i<dim_1; ++i)
110 void ensure(
size_t dim_1,
size_t dim_2)
112 if (dim_1 > _matrix.size())
113 _matrix.resize(dim_1);
114 for (
size_t i=0; i<dim_1; ++i)
116 if (_matrix[i].size() <dim_2)
117 _matrix[i].resize(dim_2);
128 return _matrix.size();
137 return (_matrix.size() > 0) ? _matrix[0].size() : 0;
141 fill(
const DataType &value)
143 size_t dim_1 = _matrix.size();
144 size_t dim_2= (dim_1>0) ? _matrix[0].size() : 0;
146 for(
size_t i=0; i<dim_1; ++i)
148 std::vector<DataType> &vec=_matrix[i];
149 for (j=0; j<dim_2; ++j)
156 template <
typename DataType>
161 template <
typename DataType>