From: Peter Dimov (pdimov_at_[hidden])
Date: 2001-05-03 09:58:53
From: "Doug Gregor" <gregod_at_[hidden]>
> Should I rename BOOST_NO_FUNCTION_TEMPLATE_ORDERING to something that
> indicate no support, but instead indicates that the necessary level of
> compliance for boost::function isn't met? If config.hpp ever gets
> BOOST_NO_FUNCTION_TEMPLATE_ORDERING, I'd hate for function.hpp to stomp on
> its definition.
I think so. Most "real world" compilers (except the latest EDG and gcc 3.0)
seem to have problems with it, although they are nowhere near MSVC, which
doesn't even attempt to order templates (pre-8.0, that is.) :-)
The problem - as I understand it - is that the compilers consider a type
'more specialized' when it's a subset of the other type, e.g. "T const &"
vs. "T * const &", but the Standard has a bit different rules. In the
'function' example, neither "F const &" nor "R (*) ()" is a subset of the
other, so the approximation fails.
-- 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