Re: [Boost-bugs] [Boost C++ Libraries] #3999: multi_pass cannot deal with all input iterators

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #3999: multi_pass cannot deal with all input iterators
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-06-10 06:18:02


#3999: multi_pass cannot deal with all input iterators
---------------------------+----------------------
  Reporter: cornedbee | Owner: hkaiser
      Type: Bugs | Status: reopened
 Milestone: Boost 1.43.0 | Component: spirit
   Version: Boost 1.42.0 | Severity: Problem
Resolution: | Keywords:
---------------------------+----------------------
Changes (by dave):

 * status: closed => reopened
 * resolution: fixed =>

Comment:

 In fact, under Clang with C++11, this program fails to compile:

 {{{
 #!c++
 #include <utility>
 #include <boost/spirit/home/support/multi_pass.hpp>
 #include <iterator>
 #include <boost/mpl/assert.hpp>
 #include <boost/type_traits/is_reference.hpp>
 #include <boost/type_traits/is_same.hpp>

 typedef boost::spirit::multi_pass<
     std::istreambuf_iterator<char>,
     boost::spirit::iterator_policies::default_policy<
         boost::spirit::iterator_policies::first_owner
       , boost::spirit::iterator_policies::ref_counted
       , boost::spirit::iterator_policies::buffering_input_iterator
>
> iterator;

 BOOST_MPL_ASSERT((
     boost::is_same<
         std::iterator_traits<iterator>::iterator_category
       , std::forward_iterator_tag>
 ));

 BOOST_MPL_ASSERT((
   boost::is_reference<std::iterator_traits<iterator>::reference>
 ));

 int main() {}
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3999#comment:5>
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:13 UTC