|
Boost : |
From: Ronald Garcia (garcia_at_[hidden])
Date: 2006-09-25 09:05:33
Hi Neal,
Your second test iterates over the first dimension of a 2-dimensional
array and attempts to set each value to the integer "0". However,
the value_types of these iterators are arrays, so a type error
ensues. This error might be easier to notice with the addition of
more concept checks to the library. I will look into this.
Cheers,
ron
On Sep 22, 2006, at 7:01 PM, Neal Becker wrote:
> The following test shows something strange.
>
> In the first test, a 1-dim view of a 1-dim array is created. Then
> the view
> iterators are used.
>
> In the second test, a 2-dim view of a 2-dim array is created. It
> seems the
> iterator in this case is not an iterator at all.
>
> Is this broken, or do I misunderstand something?
>
> --------------
> #include <boost/multi_array.hpp>
> #include <algorithm>
>
> int main () {
> using boost::multi_array_types::index_range;
>
> typedef boost::multi_array<double,1> m1_t;
> m1_t m1;
>
> typedef m1_t::array_view<1>::type view1_t;
>
> view1_t v1 = m1[boost::indices[index_range()]];
>
> std::fill (v1.begin(), v1.end(), 0); << This is fine
>
> typedef boost::multi_array<double,2> m2_t;
> m2_t m2;
>
> typedef m2_t::array_view<2>::type view2_t;
>
> view2_t v2 = m2[boost::indices[index_range()][index_range()]];
>
> std::fill (v2.begin(), v2.end(), 0); << This is not
> }
> -----------------
> There are lots of error messages, here is one:
> error: request for member begin in other, which is of non-class
> type const int
>
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/
> listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk