Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2001-05-03 10:33:28


From: "Doug Gregor" <gregod_at_[hidden]>

> Two questions:
> 1) Does the same construct work in MSVC 6.0?

Beats me. I'm not going back to 6.0. The pain is unsustainable. :-)

> 2) With the addition of &'s in all of the calls, does it pass the
regression
> tests?

* function_test.cpp passes;

* allocator_test.cpp fails, because config.hpp (incorrectly?) defines
BOOST_NO_STD_ALLOCATOR; without the define it passes. [VC 7.0 comes with
Dinkum 3.06 which is 95% standard.]

Unfortunately, std::allocator<>::rebind<> is disabled by default; in
<yvals.h>,

#define _HAS_MEMBER_TEMPLATES_REBIND 0

has to be changed to 1 to allow function_test.hpp to compile without
BOOST_NO_STD_ALLOCATOR.

* function_test_fail1.cpp correctly fails to compile.

* function_test_fail2.cpp correctly fails to compile.

* policy_test.cpp passes.

> In any case, could you send me a patch/diff/updated version so that I can
> merge in the MSVC7 changes?

These results are with the single change: in function.hpp:347 from

    function(BOOST_MSVC_INCLUDE(const) Functor f) : base_type(f) {}

to

    function(/*BOOST_MSVC_INCLUDE(const)*/ Functor const & f) : base_type(f)
{}

The same change probably has to be applied to function0..function9 - the
tests do not use them directly, so they don't need it.

All this assumes a fixed config.hpp that works with MSVC 7.0, of course. The
current one checks for _MSC_VER <= 1200 - should be 1300.

--
Peter Dimov
Multi Media Ltd.

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