Boost logo

Boost Users :

From: David Abrahams (dave_at_[hidden])
Date: 2003-05-04 10:52:48


Stephen Love <snl_at_[hidden]> writes:

> Hi all,
>
> Using Borland C++Builder5 (which has bcc32 5.5.1) I've
> attempted the tests for indirect_iterator which compile fine. However,
> the following fails:
>
> list< shared_ptr< int > > ctr;
>
> void foo( int x ) { }
>
> for_each( make_indirect_iterator( ctr.begin() ),
> make_indirect_iterator( ctr.end() ),
> foo );
>
> with the first error being:
>
> [C++ Error] iterator.h(125): E2404 Dependent type qualifier
> 'shared_ptr<int>' has no member type named 'difference_type'
>
> which then causes a failure to instantiate the iterator_traits. I'm no
> template guru, so I can make the full error list available if required.
> Anyone know what's going on?
>

The current official Boost indirect_iterator doesn't work with smart
pointers as advertised. A much improved easier-to-use iterator
adaptor library, which does, can be found in the Boost Sandbox CVS:

    http://www.boost.org/more/mailing_lists.htm#sandbox

See the boost/iterator and libs/iterator subdirectories.

Documentation at:

    http://www.boost-consulting.com/writing/facade-and-adaptor.html

It will replace the existing iterator adaptors before the next Boost
release.

HTH,

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net