|
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