
I would agree with you there - a 'foreach' would do what I need as well, but as I'm not 100% familiar with the way libraries such as boost are implemented, I worry that making your own control structure is much more difficult than making an accessor/modifier pair. I can't even imagine the syntax needed to convert the following into a theoretical boost-defined 'foreach' double previous = 0; double accumulator = 0; for(iterator_t myIterator = m_array.data(); myIterator != m_array.end (); myIterator++) { accumulator += (*myIterator); (*myIterator) *= previous accumulator = (previous > 7) ? (do_function(accumulator)) : (0); } Sure, it's a contrived example, but I just don't know how a primarily header library such as boost (or any library for that matter) would be able to define a foreach(m_array) { } in a syntactically and compiler-friendly manner. That doesn't mean, however, that I'm still not interested in the possibility of using .data() and iterating, I'm just concerned that if the data in the container isn't sequential, I'm violating some law. I know (from testing) that making an iterator myIterator = m_array.begin(); and incrementing it only goes as high as the size of the highest dimension before it hits m_array.end(), so I'm concerned that doing myIterator = m_array.data(); will end at the same point (or just walk off into nowheresville). Don't have my test code in front of me until tomorrow, where I'll test for sure. - Greg On Apr 25, 2006, at 9:02 PM, Bruno MartÃnez wrote:
On Tue, 25 Apr 2006 20:15:37 -0300, Antonio Piccolboni
wrote: I guess what you want is origin(). Iterate from origin() to origin+num_elements
I think you meant data(). I also think that does not work if you have a multiarray that is a subset of another, because the elements are not contiguous.
I also would like to iterate easily over all elements of a multiarray. Maybe a foreach-like function is easier to write than a general iterator.
Bruno
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users