Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2006-05-04 15:15:41


David Abrahams <dave_at_[hidden]> writes:

> I object to this policy:
>
> Unless otherwise noted, components are in namespace
> boost::fusion. For the sake of simplicity, code in this quick start
> implies using directives for the fusion components we will be using.
>
> because it is utterly ambiguous whether some of these functions are
> supposed to be called without qualification and found via ADL or not.

I also note in fusion's tests, constructs like this:

  void test()
  {
      using namespace boost::fusion;
      using namespace boost;

      { // Testing deref, next, prior, begin, end

          char const* s = "Hello";
          typedef FUSION_SEQUENCE<int, char, double, char const*> seq_type;
          seq_type v(1, 'x', 3.3, s);
          result_of::begin<seq_type>::type i(v);
          ^^^^^^^^^

which might (depending on whether ADL is intended) fail to test some
important things in the library, and are certain to fail compilation
once boost/utility/result_of.hpp gets included by a few more boost
headers.

-- 
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