Ticket #5544: patch.txt

File patch.txt, 740 bytes (added by hotwatermorning, 11 years ago)

patch for irange.hpp

Line 
1--- irange.hpp 2011-05-16 12:15:51 +0900
2+++ irange.hpp.new 2011-05-16 12:15:58 +0900
3@@ -216,9 +216,11 @@
4
5 typedef typename range_detail::integer_iterator_with_step<Integer> iterator_t;
6
7- const std::ptrdiff_t last_step
8- = (static_cast<std::ptrdiff_t>(last) - static_cast<std::ptrdiff_t>(first))
9- / (static_cast<std::ptrdiff_t>(step_size));
10+ const std::ptrdiff_t last_step =
11+ (last==first)
12+ ? 0
13+ : (static_cast<std::ptrdiff_t>(last) - static_cast<std::ptrdiff_t>(first) - 1)
14+ / (static_cast<std::ptrdiff_t>(step_size)) + 1;
15
16 return strided_integer_range<Integer>(
17 iterator_t(first, 0, step_size),