#pragma once /// \brief Интерфейс для классов-итераторов. /// \tparam T Тип итерируемого элемента. template class IIterator { public: virtual T* operator->() const = 0; virtual operator const T*() const = 0; virtual bool operator!=(const IIterator& other) const = 0; virtual IIterator& operator++() = 0; };