Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template <class T> class range
- {
- public:
- template <class T> class iterator
- {
- public:
- iterator(T c) : m_count(c) {}
- T operator*() const { return m_count; }
- void operator++() { ++m_count; }
- bool operator!=(const iterator &x) { return (**this) != (*x); }
- private:
- T m_count;
- };
- range(T end) : m_begin(0), m_end(end) {}
- range(T begin, int end) : m_begin(begin), m_end(end) {}
- iterator<T> begin() { return iterator<T>(m_begin); }
- iterator<T> end() { return iterator<T>(m_end); }
- private:
- T m_begin;
- T m_end;
- };
Add Comment
Please, Sign In to add comment