language: C++11 (gcc-4.7.2)
date: 507 days 4 hours ago
link:
visibility: public
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
struct range_iterator
{
       int lower_, upper_;
       range_iterator() : upper_(0), lower_(0) 
       {}
       range_iterator(int lower, int upper) : upper_(upper), lower_(lower) 
       {}
       int operator*(){ return lower_; }
       int operator++(){ lower_++; }
 
       bool operator != (range_iterator const & other)
       {
           return (upper_-lower_) != (other.upper_-other.lower_);
       }
};
 
int main()
{
       range_iterator begin(10,25), end;
       while(begin != end)
       {
          std::cout << *begin << " ";
          ++begin;
       }
}