fork(1) download
  1. #include <iostream>
  2.  
  3. struct range : std::pair<int,int> {
  4. struct int_iter {
  5. int_iter( int i ) : i(i) {}
  6. int operator*() { return i; }
  7. int &operator++() { return ++i; }
  8. bool operator!=( int_iter end ) const { return i != end.i; }
  9. private:
  10. int i;
  11. };
  12. using std::pair<int,int>::pair;
  13. int_iter begin() const { return int_iter( first ); }
  14. int_iter end() const { return int_iter(second); }
  15. };
  16.  
  17. int main() {
  18. for( auto i : range( 1, 5 ) )
  19. std::cout << i << std::endl;
  20. return 0;
  21. }
Success #stdin #stdout 0s 4304KB
stdin
Standard input is empty
stdout
1
2
3
4