Модуль алгоритма предоставляет обертки для стандартных алгоритмов в алгоритме<>и<>заголовки.
Алгоритмы делятся на категории итерация, преобразование и запрос, моделирование библиотекиBoost.MPL. Различные классы алгоритмов могут быть включены с использованием заголовков:
Функции модуля алгоритма принимают диапазоны в качестве аргументов. Это отличается от стандартной библиотеки, но достаточно легко подобрать. Об этом подробно рассказывается в. Библиотека.
Например, используя стандартный алгоритм копирования для копирования между 2 массивами:
intarray[]={1,2,3};intoutput[3];std::copy(array,array+3,output);// We have to provide iterators// to both the start and end of array
Аналогичный код с использованием модуля алгоритма Феникса:
intarray[]={1,2,3};intoutput[3];copy(arg1,arg2)(array,output);// Notice only 2 arguments, the end of// array is established automatically
Ускорение. Библиотека диапазонаобеспечивает поддержку стандартных контейнеров, строк и массивов и может быть расширена для поддержки дополнительных типов.
Следующие таблицы описывают различные категории алгоритмов и их семантику.
Аргументы в скобках обозначают факультативные параметры.
Статья Algorithm раздела Chapter 1. Phoenix 3.2.0 STL может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.