Guest User

Untitled

a guest
Apr 20th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.58 KB | None | 0 0
  1. template <class T> class range
  2. {
  3. public:
  4. template <class T> class iterator
  5. {
  6. public:
  7. iterator(T c) : m_count(c) {}
  8.  
  9. T operator*() const { return m_count; }
  10. void operator++() { ++m_count; }
  11. bool operator!=(const iterator &x) { return (**this) != (*x); }
  12.  
  13. private:
  14. T m_count;
  15. };
  16.  
  17. range(T end) : m_begin(0), m_end(end) {}
  18. range(T begin, int end) : m_begin(begin), m_end(end) {}
  19.  
  20. iterator<T> begin() { return iterator<T>(m_begin); }
  21. iterator<T> end() { return iterator<T>(m_end); }
  22.  
  23. private:
  24. T m_begin;
  25. T m_end;
  26. };
Add Comment
Please, Sign In to add comment