[Boost-bugs] [Boost C++ Libraries] #6248: multi_pass_iterator not flushed automatically by expectation operator

Subject: [Boost-bugs] [Boost C++ Libraries] #6248: multi_pass_iterator not flushed automatically by expectation operator
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-12-09 16:13:02


#6248: multi_pass_iterator not flushed automatically by expectation operator
---------------------------------------------------+------------------------
 Reporter: Jeff Flinn <jflinn@…> | Owner: djowel
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: spirit
  Version: Boost 1.47.0 | Severity: Problem
 Keywords: multi_pass_iterator, flush_multi_pass |
---------------------------------------------------+------------------------
 Parsing a 2GB file, multi_pass_iterator throws std::bad_alloc when it
 tries to push_back the ~1.2GB'th item, even though expectation operator is
 used with a record based file whose max record length is ~200 chars.
 For example:

   start %= header > *rec;

 I also tried:

   start %= header > flush_multi_pass *rec;

 which resulted in no effect.

 note: 1.47.0 required modifying flush_multi_pass.hpp to be the same as
 1.48.0 impl to avoid compilation errors

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