Boost logo

Boost :

From: Toon Knapen (toon.knapen_at_[hidden])
Date: 2002-09-06 11:23:28


For some reason I get following error when compiling the filesystem library
with VisualAge 6.

xlc-C++-action
/home/tk/cvstop/DO/libs/filesystem/build/bin/libfs.a/vacpp/debug/runtime-link-dynamic/operations_posix_windows.o
"/home/tk/boost/boost/boost/operators.hpp", line 143.18: 1540-0403 (S)
"boost::operator!=(const directory_iterator &, const directory_iterator &)"
is already defined.
"/home/tk/boost/boost/boost/operators.hpp", line 142.18: 1540-0425 (I)
"operator!=" is defined on line 142 of
"/home/tk/boost/boost/boost/operators.hpp".
"/home/tk/boost/boost/boost/operators.hpp", line 795.2: 1540-0700 (I) The
previous message was produced while processing "struct
boost::equality_comparable2<boost::filesystem::directory_iterator,boost::filesystem::directory_iterator,boost::detail::empty_base>".
"../src/operations_posix_windows.cpp", line 142.48: 1540-0274 (S) The name
lookup for "end_itr" did not find a declaration.

The problem disappears if I modify line 82 in filesystem/operations.hpp from

      public boost::equality_comparable< directory_iterator >,

into

      public boost::equality_comparable1< directory_iterator >,

I see no reason why the former resolved to equality_comparable2 but
apparantly it does. So what's the best way to patch this ?
Modify the filesystem library to use "equality_comparable1" or find some way
to make equality_comparable automatically resolve to equality_comparable1 ?

toon


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