Thanks for the help...

Yes, I have BOOST_UBLAS_USE_INDEXED_ITERATOR explicitly defined...

-----Original Message-----
From: ublas-bounces@lists.boost.org [mailto:ublas-bounces@lists.boost.org] On Behalf Of Vardan Akopian
Sent: Wednesday, February 15, 2006 11:02 PM
To: ublas mailing list
Subject: Re: [ublas] Question on the ublas::matrix

Hi Erik,

On 2/15/06, Ramsay, Erik GOSS <Erik.Ramsay@gossinternational.com> wrote:
>
> Hi,
>
> I have the following test function:
>
>
>
> void Test()
>
> {
>
>     boost::numeric::ublas::matrix<double> NewJ(32,32);
>
>     boost::numeric::ublas::matrix<double>::iterator1
> itrNewJColumn = NewJ.begin1();
>
>     itrNewJColumn[2];
>
> }
>
> I would like access different columns of "NewJ" through the use of column
> iterators.    However, when I try to compile this code, I get a compile
> error:
>
> include\boost\numeric\ublas\iterator.hpp(1619) : error
> C2679: binary '+' : no operator found which takes a right-hand operand
> of type
> 'boost::numeric::ublas::indexed_iterator1<C,IC>::difference_type'
> (or there is no acceptable conversion)

It's strange that it's using the indexed_iterators as opposed to the normal iterators. Do you have BOOST_UBLAS_USE_INDEXED_ITERATOR defined explicitly somewhere (I think it's disabled by default).

The second thing, is that I think there is a bug in iterator.hpp, where the indexed_iterators are dfined.  indexed_iterators are derived from random_access_iterator_base<IC, I, T, D>, where D is the difference type. But for some reason indexed_iterators pass a reference type as D. For example on lines 1553-1560 we have:

    template<class C, class IC>
    class indexed_iterator1:
        public container_reference<C>,
        public random_access_iterator_base<IC,
                                           indexed_iterator1<C, IC>,
                                           typename C::value_type,
                                           typename C::reference> {

so here D=C::reference, which in our case would be double& .
Would anyone more familiar with (indexed) iterators check this?

-Vardan

>
> What am I doing wrong or what am I missing.
>
> I'm compiling with the VC7 compiler.  I'm using version 1.32 of Boost.
>
> Thanks for any help.
>
>
> _______________________________________________
> ublas mailing list
> ublas@lists.boost.org
> http://lists.boost.org/mailman/listinfo.cgi/ublas
>
>
>

_______________________________________________
ublas mailing list
ublas@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/ublas



******************************************************************************************

******************************************************************************************

      Goss ... Innovation for Business

NOTICE:  This e-mail and any attachment(s) may contain confidential and proprietary information of Goss International Corporation and/or its subsidiaries and may be legally privileged. This e-mail is intended solely for the addressee. If you are not the addressee, dissemination, copying or other use of this e-mail or any of its content is strictly prohibited and may be unlawful.  If you are not the intended recipient please inform the sender immediately and destroy the e-mail and any copies.  All liability for viruses is excluded to the fullest extent permitted by law.  Any views expressed in this message are those of the individual sender.  No contract may be construed by this e-mail.