Boost logo

Ublas :

From: Michael Stevens (mail_at_[hidden])
Date: 2005-11-30 16:22:47

On Tuesday, 29. November 2005 22:53, Shawn D. Pautz wrote:
> All,
> There is a difference between 1.33.0 and 1.33.1 Beta that is causing me
> some problems with gcc 3.4.4. In class vector the typedef for pointer
> and const_pointer has changed from being public to being private. Was
> this intended?

The private pointer/const_pointer change is prior to 1.33.0. About a year ago
I believe.

> I'll note that the documentation for the Vector concept
> still indicates that it is a refinement of RandomAccessContainer, which
> requires a public typedef.

Bad. An oversight. The Concepts tests only check for the to common
requirements of all classes which model a Vector. The specific Random Access
Container requirement of ublas:vector is not specifically checked.

I have commited a FIX to the 1_33 branch. The HEAD already has the correct
public versions.. Can you test?

> I thought there had been discussion of
> dropping that requirement - am I looking at the right documentation?

I looked up my previous post on the subject.

Quote "
Importantly I have removed Random Access Container from the list of Concepts
refined by Vector. The problem is that Random Access Container requires the
iterator to be a Random Access Iterator. Not all Vector's can provide this.

Instead I have made ublas::vector a model of Random Access Container. This
makes sense as the aim of introducing a relationship with Random Access
Container was avoid surprises by people using ublas::vector as a std::vector.

Hope that all make sense.


Michael Stevens Systems Engineering
34128 Kassel, Germany
Phone/Fax: +49 561 5218038
Navigation Systems, Estimation  and
                 Bayesian Filtering