$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: [boost] Range begin/end and Fusion begin/end
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2010-03-18 11:09:00
In C++0x, begin and end are supposed to be found through ADL, and this
might end up considering fusion::begin/fusion::end as possible overloads.
Unfortunately, this breaks, as fusion::begin and fusion::end produce
hard errors when passed something else than a fusion sequence.
All in all, I find ADL very dangerous. Should it be advocated not to use
the names "begin" and "end" for something else than ranges to avoid issues?
I suppose that for Fusion, it could be possible to use SFINAE to mask
the overloads if the arguments aren't fusion sequences.