Hi Joey,I have looked at your self-contained example, so I get the gist of what you're trying to do. Rather than assigning to the array view, you can assign to an indices object and build the view after the fact. Here's how to do the 2-dimensional case that you had commented out://This doesn't work, but I would love a generic version of this:array_type::index_gen::gen_type<1,2>::type myindices;if (desired_slice [0] == -1)myindices = indices [range ()][desired_slice [1]];elseif (desired_slice [1] == -1)myindices = indices [desired_slice [0]][range ()];array_type::const_array_view <1>::type OneDView= multi_array[myindices];ret_val = (OneDView [whichPosition]);HTH,ronOn Jun 14, 2008, at 10:32 AM, Joey Mukherjee wrote:
I am trying to use boost::multi_array and want to create a view where I am
lowering the number of dimensions, but I wish the dimension to be reduced
to be decided at runtime.I have a vector of integers and this vector size is the same as the number
of dimensions. If the vector [1] value is -1, then the first dimension
will have all values (i.e. range ()), otherwise it will be a number
indicating what slice to use._______________________________________________Boost-users mailing list