[Boost-bugs] [Boost C++ Libraries] #5785: regression in parsing a list of lists

Subject: [Boost-bugs] [Boost C++ Libraries] #5785: regression in parsing a list of lists
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-08-15 16:54:36


#5785: regression in parsing a list of lists
--------------------------------+-------------------------------------------
 Reporter: matt@… | Owner: djowel
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: spirit
  Version: Boost 1.47.0 | Severity: Regression
 Keywords: |
--------------------------------+-------------------------------------------
 The following code doesn't compile in boost-1.47.0, but compiles fine in
 boost-1.44.0:

 {{{
 #include <boost/spirit/include/qi.hpp>
 #include <boost/fusion/include/std_pair.hpp>

 int main ()
 {
   std::string str
 ("0.1:1.5,0.2:4,-1.2:5.5;1:2,3:4,5:6;10:20,20:30,30:40");

   using namespace boost::spirit::qi;

   std::vector<std::vector<std::pair<double, double> > > v;
   phrase_parse (str.begin(), str.end (),
                 ((double_ >> ':' >> double_) % ',') % ';',
                 space, v);

   return 0;
 }

 }}}

 The (final) error message is:

 {{{
 include/boost/spirit/home/support/container.hpp:278: error: no matching
 function for call to ‘std::vector<std::pair<double, double>,
 std::allocator<std::pair<double, double> >
>::insert(__gnu_cxx::__normal_iterator<std::pair<double, double>*,
 std::vector<std::pair<double, double>, std::allocator<std::pair<double,
 double> > > >, const double&)’
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/5785>
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:07 UTC