Блок задач

9. Шаблоны C++

Сложность 1

Задача «Класс Range»

Реализовать класс Range, инкапсулирующий пару итераторов (начало и конец диапазона). Предназначение класса — «взлянуть» на некоторый диапазон внутри коллекции как на отдельную сущность.

Интерфейс

template<typename Iter>
class Range {
public:
    Range(Iter begin, Iter end);

    Iter begin() const;
    Iter end() const;
    size_t size() const;
}