Boost logo

Boost Users :

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

Dave Abrahams
Boost Consulting

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at