|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2005-11-30 07:38:44
MB <mb2act_at_[hidden]> writes:
> Hi,
>
> This proposal is somewhat beyond the current Boost.Range.
> I have been looking for "how to define compile-time polymorphism",
> which Boost.Range and Boost.Serialization etc are combating.
>
> Motivation:
> There is no conforming way of customization if you cannot
> open namespaces that contain types you customize.
>
> New Implementation:
> Provide a namespace for customization by using a type named 'overloaded'
> that triggers intentional ADL on 2nd-phase lookup.
> (This idea comes from Boost.Serialization.)
It was considered already. Look for the use of the phrase "domain
tag" in http://lists.boost.org/boost-users/2005/03/10346.php and
following messages.
> Question4:
> This technique that triggers intentional ADL is famous?
> What do they call? Who is the inventor?
> Should I call "Ramey Lookup"?
I think I may have invented the technique you're showing. Robert
Ramey's innovation was to put a wrapper around some useful argument,
which effectively hides the hack from the author of the specific
customization.
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk