Subject: Re: [boost] [functional] adding overload
From: Lorenzo Caminiti (lorcaminiti_at_[hidden])
Date: 2012-01-17 17:37:10
On Tue, Jan 17, 2012 at 10:32 AM, Stewart, Robert
> Nathan Ridge wrote:
>> Lorenzo Caminiti wrote:
>> > During Boost.Local review, it was proposed to move the overload
>> > template out of Local and in Boost.Functional. What would the best
>> > name for it?
>> > 1) boost::overload_function (my preference)
>> > 2) boost::overloaded_function
>> > 3) boost::function_overload
>> > 4) boost::functional::overload (Boost.Functional seems to use boost::
>> > directly and not boost::functional-- to mimic C++11 ).
>> I like boost::functional::overload. You can then add a convenience
>> function make_overload() with creates one without having to specify
>> the template parameters, and it will be at once intuitive-sounding
>> and consistent with Boost naming conventions.
> An overload is a function with a signature differing from others of the same name. What's being created here is a function object that represents an overload set. It's a collection of overloaded functions. "overload" is not correct as you're using it. "overloaded_function" is closer to correct, but I think that "overload_set" is the right term. You create an overload_set object and call it. When called, it does something like overload resolution, and forwards to the appropriate callable in the set.
I don't like the _set postfix- even if correct, I'd find it confusing
as a user. I picked overloaded_function.
Here's a first draft for the docs:
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk