Boost logo

Boost :

From: Pavel Vozenilek (pavel_vozenilek_at_[hidden])
Date: 2004-12-11 20:13:18


This 2-liner:
---------------------------
#include <boost/algorithm/string.hpp>
#include <boost/range/iterator_range.hpp>
---------------------------

produces error with Intel C++ 7.0 for Windows
(plugged in VC6 IDE, old Dinkumware):

P:\N\src\boost_1_32_0\boost/range/iterator_range.hpp(78): error: class
template "boost::algorithm::iterator_range" may not be redeclared in the
current scope
          class iterator_range
                ^
P:\N\src\boost_1_32_0\boost/range/iterator_range.hpp(78): error: class
template "boost::algorithm::iterator_range" has already been defined
          class iterator_range

------
Comment on this from Eric Niebler:

it's a compiler bug, algorithm/string.hpp causes iterator_range to be
declared in boost::algorithm namespace, and range/iterator_range.hpp causes
a different iterator_range to be defined in the boost namespace. That's
fine, but your compiler doesn't seem to like it. The fix is probably to make
the string algorithms use boost::iterator_range instead of defining its own
version.

------

/Pavel


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