Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Element iteration

Boost , Chapter 1. Boost.Icl , Function Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Этот раздел относится к итерация элементов более интервал контейнеров. Итераторы элементов доступны как ассоциированные типы на интервальных наборах и интервальных картах.

Разнообразие

T

T::element_iterator

запор вперед

T::element_const_iterator

T::element_reverse_iterator

обратный отпор

T::element_const_reverse_iterator

Существуют также ассоциированные типы итераторов T::iterator, T::const_iterator, T::reverse_iterator и T::reverse_const_iterator на интервале. Это сегментные итераторы. Итерация по сегментам является быстрой по сравнению с итерацией по элементам, особенно если интервалы большие. Но если мы хотим рассматривать наши интервальные контейнеры как контейнеры элементов, которые можно использовать с помощью std::algoritms, нам нужно итерировать над элементами.

Итерация по элементам...

  • может быть очень slow, если интервалы очень большие.

С другой стороны, иногда итерация через интервальные контейнеры на уровне элемента может быть желаемой, если у вас есть интерфейс, который работает для std::SortedAssociativeContainers элементов и вам нужно быстро использовать его с интервальным контейнером. Принятие более низкой производительности может быть менее беспокоить время от времени, чем корректировка всего интерфейса для итерации сегмента.

[Caution]Caution

Поэтому мы советуем вам выбрать итерацию элемента через интервальные контейнеры сознательно. Не используйте итерацию элементов по умолчанию или привычным. Всегда старайтесь достичь результатов с использованием членских функций, глобальных функций или операторов (предпочтительно на местах) или итерации по сегментам в первую очередь.

Синоптические сложности

интервал
карты

J elements_begin(T&)

O(1)

O(1)

J elements_end(T&)

O(1)

O(1)

J элементы_rbegin(T&)

O(1)

O(1)

J elements_rend(T&)

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 . . .


PrevUpHomeNext

Статья Element iteration раздела Chapter 1. Boost.Icl Function Reference может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Function Reference ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 20:05:30/0.0073330402374268/0