
MB <mb2act@yahoo.co.jp> 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