Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4647: BOOST_CONCEPT_ASSERT((RandomAccessIterator<boost::transform_iterator>)) fails
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-09-13 22:55:22
#4647: BOOST_CONCEPT_ASSERT((RandomAccessIterator<boost::transform_iterator>))
fails
-------------------------------------------------+--------------------------
Reporter: Ilya Murav'jov <muravev@â¦> | Owner:
Type: Bugs | Status: closed
Milestone: To Be Determined | Component: iterator
Version: Boost 1.44.0 | Severity: Problem
Resolution: invalid | Keywords:
-------------------------------------------------+--------------------------
Changes (by steven_watanabe):
* status: new => closed
* resolution: => invalid
* component: None => iterator
Comment:
Replying to [ticket:4647 Ilya Murav'jov <muravev@â¦>]:
> {{{#!c++
> This is because iterator_adaptor turns std::random_access_iterator_tag
into boost::random_access_traversal_tag, then iterator_facade turns it
into iterator_category_with_traversal<std::input_iterator_tag,
boost::random_access_traversal_tag>. The check fails if
>
> typedef boost::transform_iterator<int(*)(int), int_iterator>
tr_iterator;
>
> but not if
>
> typedef boost::transform_iterator<int&(*)(int), int_iterator>
tr_iterator;
>
This is the correct behavior because of the way the standard defines
!RandomAccessIterators.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/4647#comment:1> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:04 UTC