$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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