Boost logo

Boost :

From: Michael Stevens (Michael.Stevens_at_[hidden])
Date: 2004-07-27 06:50:28


On Tuesday 27 July 2004 12:18, "Victor A. Wagner Jr." <vawjr_at_[hidden]>

> >Maybe the problem is related to namespace handling in VC 8.0
> >
> >Boost.numeric.interval library fails when included in uBLAS due to a
curious
> >namespace problem.
>
>http://www.meta-comm.com/engineering/boost-regression/developer/output/RudbekAssociates-bin-boost-libs-numeric-ublas-test7-test-vc8-0-debug.html
> >
> >The same problem effect VC 7.1 as well. Why the compilers think the 'lower'
> >'upper' symbols are ambiguous I have no idea!
>
> because there are two different ones to choose from
>

Did I miss the :-) here? If only things were so simple.

The error occurs in interval/io.hpp. Here a templated operator definition is
being defined in the boost::numeric namespace. The definitions of lower/upper
we are looking for are in this same boost::numeric namespace.

The definitions which VC is getting confused with in the boost::numeric::ublas
namespace can only be found by argument dependant (Konig) lookup.

We could look this up in the ISO standard. Circumstantial evidence from
several other compilers suggests VC 7.1 / 8.0beta is doing the wrong thing
here.

Which is why I suspect these compilers do not implement namespace perfectly.

Michael


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk