Boost logo

Boost :

Subject: Re: [boost] [fusion] Adapter for std::array
From: Agustín K-ballo Bergé (kaballo86_at_[hidden])
Date: 2013-07-07 18:46:00


On 05/07/2013 08:49 p.m., Mateusz Loskot wrote:
>> Sorry for not given feedback on the
>> >ADL issue. I haven't given it much though yet, but I'm open to
>> >suggestions.
> No problem. Regrettably, I'm not able to help her,
> it's fairly new ground to me, still.

If `fusion::begin/end` were defined as variadic function templates
(SFINAEd out when used with more than 0 arguments) then they would be a
worse match than `std::begin/end`. Given:

     std::array<boost::fusion::vector<>, 42> foo;
     begin(foo);

it would unambiguously resolve to `std::begin`. At the same time, it
means that different Fusion sequences get different "ADL benefits". I am
not particularly keen on said non-uniformity.

Regards,

-- 
Agustín K-ballo Bergé.-
http://talesofcpp.fusionfenix.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk