Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#5544 closed Bugs (fixed)

irange doesn't end iteration properly when step_size is 2 or more

Reported by: hotwatermorning Owned by: Neil Groves
Milestone: To Be Determined Component: range
Version: Boost 1.46.1 Severity: Showstopper
Keywords: Cc:

Description

The code

std::cout << boost::irange(0, 9, 2) << std::endl;

prints "0246" instead of "02468".

Attachments (1)

patch.txt (740 bytes ) - added by hotwatermorning 11 years ago.
patch for irange.hpp

Download all attachments as: .zip

Change History (3)

by hotwatermorning, 11 years ago

Attachment: patch.txt added

patch for irange.hpp

comment:1 by Neil Groves, 11 years ago

Resolution: fixed
Status: newclosed

Thanks for the defect report. Additional tests have been created, and a fix put into the code for boost trunk. The supplied patch would introduce a number of regressions, hence a different solution was employed.

comment:2 by Akira Takahashi(faithandbrave@…, 11 years ago

This is broken change. It is necessary to write in a history document clearly.

Note: See TracTickets for help on using tickets.