Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2003-03-18 11:11:28


At 09:48 AM 3/18/2003, David Abrahams wrote:

>Gottfried.Ganssauge_at_[hidden] writes:
>
>>> it seems to me that these aren't actually legal specializations
>>> (though I've never specialized functions before so I could be wrong).
>>> Shouldn't that be:
>>>
>>> template <>
>>> inline type_info type_id<Pointee>(boost::type<Pointee>*) {
>>> return type_info(typeid(Pointee*));
>>> }
>>>
>>> template <>
>>> inline type_info type_id<const volatile Pointee&>(
>>> boost::type<const volatile Pointee&>*) {
>>> return type_info(typeid(Pointee*));
>>> }
>>>
>> You're probably right, but the other compilers didn't
>> complain... Anyway, that wasn't the cause of the problem; the
>> problem seems to be that gcc-2.9x doesn't recognize the defaulted
>> argument but insists on having an argument anyway. Now i have
>> changed my specializations such that these have *no* arguments and
>> now it works on all my compilers (MSVC6, VC7.1ß, gcc-2.95.3,
>> gcc-3.2).
>
>I think we need to keep the argument for VC6 at least; the problem is
>one that shows up at link time because VC6 seems to distinguish
>function template instantiations only by the types of the arguments
>and not the template parameters. If you amend the patch so that it
>still uses the default argument for VC6, I will be happy for Ralf to
>apply it.
>
>Beman, can we get this in under the wire? It only affects
>Boost.Python and then only a new feature of Boost.Python.

Yes, if it is ready in the next couple of hours. Please let me know when it
is committed.

Thanks,

--Beman


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