![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Element iterationBoost , Chapter 1. Boost.Icl , Function Reference
|
Разнообразие |
|
---|---|
T::element_iterator | |
запор вперед | T::element_const_iterator |
| |
обратный отпор | T::element_const_reverse_iterator |
Существуют также ассоциированные типы итераторов T::iterator
, T::const_iterator
, T::reverse_iterator
и T::reverse_const_iterator
на интервале. Это сегментные итераторы. Итерация по сегментам является быстрой по сравнению с итерацией по элементам, особенно если интервалы большие. Но если мы хотим рассматривать наши интервальные контейнеры как контейнеры элементов, которые можно использовать с помощью std::algoritms, нам нужно итерировать над элементами.
Итерация по элементам...
С другой стороны, иногда итерация через интервальные контейнеры на уровне элемента может быть желаемой, если у вас есть интерфейс, который работает для std::SortedAssociativeContainers
элементов и вам нужно быстро использовать его с интервальным контейнером. Принятие более низкой производительности может быть менее беспокоить время от времени, чем корректировка всего интерфейса для итерации сегмента.
![]() | Caution |
---|---|
Поэтому мы советуем вам выбрать итерацию элемента через интервальные контейнеры сознательно. Не используйте итерацию элементов по умолчанию или привычным. Всегда старайтесь достичь результатов с использованием членских функций, глобальных функций или операторов (предпочтительно на местах) или итерации по сегментам в первую очередь. |
Синоптические сложности |
интервал | |
---|---|---|
J elements_begin(T&) | O(1) | O(1) |
| O(1) | O(1) |
| O(1) | O(1) |
| O(1) | O(1) |
Описание | |
---|---|
element_iterator elements_begin(T&) element_const_iterator elements_begin(const T&)
| |
element_iterator elements_end(T&) element_const_iterator elements_end(const T&)
| |
element_reverse_iterator elements_rbegin(T&) element_const_reverse_iterator elements_rbegin(const T&) element_reverse_iterator elements_rbegin(T&) element_const_reverse_iterator elements_rbegin(const T&) [ORIG_END] --> | Возвращает итератор обратного элемента в последний элемент контейнера. |
element_reverse_iterator elements_rend(T&) element_const_reverse_iterator elements_rend(const T&)
|
interval_set<int> inter_set; inter_set.add(interval<int>::right_open(0,3)) .add(interval<int>::right_open(7,9)); for(interval_set<int>::element_const_iterator creeper = elements_begin(inter_set); creeper != elements_end(inter_set); ++creeper) cout << *creeper << " "; cout << endl; //Program output: 0 1 2 7 8 for(interval_set<int>::element_reverse_iterator repeerc = elements_rbegin(inter_set); repeerc != elements_rend(inter_set); ++repeerc) cout << *repeerc << " "; cout << endl; //Program output: 8 7 2 1 0
См. также . .
Back to section . . .
Статья Element iteration раздела Chapter 1. Boost.Icl Function Reference может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Function Reference ::
реклама |