Boost logo

Boost :

From: Shunsuke Sogame (mb2act_at_[hidden])
Date: 2006-10-01 13:28:23


Hi gurus, under RC_1_34,

    #include <boost/range.hpp>
    #include <boost/iterator/counting_iterator.hpp>

    int main()
    {
        boost::make_iterator_range(
            boost::make_counting_iterator(0),
            boost::make_counting_iterator(5)
        )[2];
    }

VC++7.1 and GCC3.4 says a warning something like
"returning address of local variable or temporary".

counting_iterator is implemented by iterator_facade,
whose operator[] returns *value*.
In fact, the result type of iterator_facade's operator[] seems unspecified.
Is it possible to do forwarding of iterator's operator[], which is
tried by iterator_range?

-- 
Shunsuke Sogame

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