Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MyIterator
- {
- private:
- MyVector &vector;
- int i = -1;
- public:
- MyIterator() = delete;
- MyIterator(MyVector &_vector, int _i) : vector(_vector), i(_i){};
- T & operator*();
- void operator++()
- {
- if (i < 0)
- throw std::out_of_range("i < 0 in operator++");
- if(++i == (int)vector.Size)
- i = -1;
- }
- bool operator!=(const MyIterator &rhs) const
- {
- if ( !(i == -1 && rhs.i == -1) )
- return true;
- return !(&vector == &rhs.vector && i == rhs.i);
- }
- ~MyIterator() = default;
- };
- MyIterator end() { return {*this, -1}; }
- MyIterator begin() { return {*this, ((Data && Size > 0) ? 0 : -1)};} // переписать в тетрадь с пояснением.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement