|
Boost : |
From: Brock Peabody (brock.peabody_at_[hidden])
Date: 2003-11-14 14:13:26
> -----Original Message-----
> From: boost-bounces_at_[hidden] [mailto:boost-bounces_at_[hidden]]
> On Behalf Of Howard Hinnant
> Sent: Friday, November 14, 2003 11:06 AM
> To: Boost mailing list
> Subject: Re: [boost] Re: compile time member detection
> 2. D&E section 15.4 glosses over this topic somewhat. Structural
> conformance based on function signatures seems inflexible compared to
> structural conformance based on expressions. I.e. if the expression:
>
> T* a = b.clone();
>
> is supposed to work, it seems over constraining to expect the member
> function:
>
> T* clone() const;
>
> to appear. What is wrong with:
>
> T* clone(int policy = default_policy) const;
Structural conformance based on function signatures is certainly not ideal,
but it's all I can get VC 7.1 to do.
I think I might be able to get this to work for the above example, but it
would probably be completely impossible right now for functions with void
return types.
Unfortunately, a more flexible system that could match conforming rather
than exact signatures would run an even greater risk of coincidental
matches.
Brock
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk