Boost logo

Boost :

From: Kresimir Fresl (fresl_at_[hidden])
Date: 2001-08-22 12:03:17


Hi,

It seems that there is a name clash between tie() from `utility.hpp'
and two argument tie() from new tuple library (in boost 1.24.0).
g++ (v3.0) complains:

In file included from /usr/local/include/boost/iterator_adaptors.hpp:101,
                 from cloud.h:8, // my file
                 from tws.cc:14: // my file
/usr/local/include/boost/utility.hpp:114: new declaration `template<class A,
   class B> boost::tied<A, B> boost::tie(A&, B&)'
/usr/local/include/boost/tuple/detail/tuple_basic.hpp:644: ambiguates old
   declaration `template<class T1, class T2> boost::tuple<T1&, T2&,
   boost::null_type, boost::null_type, boost::null_type, boost::null_type,
   boost::null_type, boost::null_type, boost::null_type, boost::null_type>
   boost::tie(T1&, T2&)'

(Older versions of tuples, before inclusion in oficial boost release, were in
a nested namespace boost::tuples.)

fres

PS. There may be some other problems with tuple library:

As a quick and dirty fix I renamed tuple tie() functions to
tie_tuple(). g++ now compiles my program (and it works
as expected ;0), but Comeau C++ 4.2.45.2 says:

"/usr/local/include/boost/tuple/detail/tuple_basic.hpp", line 552: error:
          template argument list must match the parameter list
  boost::detail::tuples::make_tuple_mapper<T0>::type
  ^
 
"/usr/local/include/boost/tuple/detail/tuple_basic.hpp", line 702: error:
          expected a ";"
  } // end of namespace boost
  ^

Comeau compiles older version of tuples (dated 2001-05-29).


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