Boost logo

Boost :

From: Robbie Gates (robbie.gates_at_[hidden])
Date: 2003-10-22 00:41:44


Hi All,

it seems that VC7.1/Boost 1.30.2 wants to blame
filter_iterator_generator for almost any error that occurs once it is
included. Compiling

    #include <boost/iterator_adaptors.hpp>

    int main(int argc, char **argv)
    {
        oops;
        return 0;
    }

generates

    tmp.cpp:5: error C2065: 'oops' : undeclared identifier
            C:/swlib/BOOST/1.30.2/win32/files/boost/iterator_adaptors.hpp:1409: see reference to class template instantiation 'boost::filter_iterator_generator<Predicate,Iterator,Value,Reference,Pointer,Category,Distance>' being compiled

Note that if the syntax error in the above code is removed, there is
no error caused by iterator_adaptors itself. It just seems to take the
blame for the first error after it has been included (!?).

If i comment out lines 1402-1404 of boost/iterator_adaptors.hpp, which say:

#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) // I don't have any idea why this occurs, but it doesn't seem to hurt too badly.
    BOOST_STATIC_ASSERT(!is_bidirectional);
#endif

the issue goes away.

a) Has anyone else seen this ?
b) Should 1300 in the above source excerpt be 1310 ?

- robbie


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