Мне передан Iterator, и я должен передать его другой функции, но отфильтровать, чтобы некоторые элементы были пропущены (это диапазон указателей, и я хочу отфильтровать указатели NULL).
Я googled для "stl filter iterator", чтобы посмотреть, как это сделать, и boost:: filter_iterator.
Это выглядит красиво, и я могу использовать его, но могу ли я сделать это с добрым старым STL? Конечно, без копирования элементов в новый контейнер.
Я предполагаю, что мне придется создать еще один класс итератора, который предоставляет необходимые функции begin()
, end()
и т.д. и выполняет ли фильтрацию? Поэтому мне нужно было бы повторно реализовать boost
iterator_filter
...?