Boost logo

Boost :

From: Joaquin M Lopez Munoz (joaquin_at_[hidden])
Date: 2006-10-18 01:54:06

John Maddock <john <at>> writes:

> What's the state of support for VC6/7 in Boost.Operators?
> I'm asking because I started investigating the remaining
> regressions for Boost.Rational and I've come up against a
> road-block: I can get everything to work (at least I think
> so), but not the comparison operators, so:
> my_rational_1 != my_rational_2
> doesn't compile with VC6/7, but does with everything else.
> I'm assuming that's because these compilers don't find the
> necessary friend-functions in the operators base classes,
> or is there something else going on here?

I think this is a testing artifact. The following compiles
and works just fine in VC 6.5:

#include <boost/rational.hpp>

int main()
  boost::rational<short> r1,r2;

  return 0;

> BTW is the use of Boost.Operators by the rational lib new
> to this version?

No, the lib is basically unchanged since 1.30, the only
significant modification has been the addition of a boolean
conversion operator, which is immaterial to this issue
(same problems even if I remove it.)

What's new about 1.33 wrt 1.32 is the refactoring of
rational_test.cpp to use Boost.Test instead of the old
homegrown test framework. This is probably hitting some
VC6.5/7.0 bug --in particular, my hunches are related to
the kind of bugs BOOST_EXPLICIT_TEMPLATE_TYPE is designed
to solve.

> If so we might just have to mark up VC6/7 as unsupported.

Let me try my hand at it first, I think I'll be able to make
it work in a few days.

> Thanks,
> John.

Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo

Boost list run by bdawes at, gregod at, cpdaniel at, john at