On 18 December 2012 08:24, gast128 <gast128@hotmail.com> wrote:
I am talking about multi_array, see title. Example code:
void f() { typedef boost::multi_array<int, 2> Matrix;
Matrix m1(boost::extents[2][3]); _ASSERT(m1.size() == 2); _ASSERT(m1[0].size() == 3);
m1.resize(boost::extents[0][3]); _ASSERT(m1.size() == 0); //_ASSERT(m1[0].size() == 3); //<--assert }
Hi, The shape function has the list of multi_array dimensions. This should do it: #include <boost/multi_array.hpp> #include <cassert> int main() { typedef boost::multi_array<int, 2> Matrix; Matrix m1(boost::extents[2][3]); assert(m1.shape()[0] == 2); assert(m1.shape()[1] == 3); m1.resize(boost::extents[0][3]); assert(m1.shape()[0] == 0); assert(m1.shape()[1] == 3); return 0; } Cheers, Vitaly