Архитектурная акустика/Реализация/CFacePointCollectionIterator

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску

Реализует C++ итератор ForwardIterator, проходящий через все точки отражающей поверхности CFace в соответствии с Config::PistonDXToLambda.

class CFacePointCollectionIterator;
Открытые типы
ТипОписание
iterator_categoryТип std::forward_iterator_tag.
value_typeТип значения - точка POINT3DEXT.
referenceТип ссылки на точку POINT3DEXT с доступом только для чтения.
pointerТип указателя на точку POINT3DEXT с доступом только для чтения.
difference_typestd::ptrdiff_t.
Открытые методы
МетодОписание
(конструкторы)Конструкторы класса CFacePointCollectionIterator.
(деструктор)Деструктор класса CFacePointCollectionIterator.
operator=Операторы присваивания класса CFacePointCollectionIterator.
operator++Оператор перехода на следующую точку.
operator*Оператор прямого разыменовывания.
operator->Оператор косвенного разыменовывания.
operator==Оператор проверки на эквивалентность итераторов.
operator!=Оператор проверки на неэквивалентность итераторов.

Также автоматически определяются операторы присваивания с перемещением и копированием.

См. также
CFacePointCollectionРеализует коллекцию точек на отражающей поверхности CFace, в которых возможно создание вторичных источников в процессе моделирования звука на заданной частоте.
CFaceРеализация поверхности, отражающей звук.

Итератор, строго говоря, не удовлетворяет требованиям ForwardIterator и является InputIterator, поскольку операторы разыменовывания адресуют прокси-объект, который меняет свое состояние каждый раз при изменении позиции итератора. Вытекающие из этого ограничения приведены в operator* и operator->.