![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
iter_foldBoost , Chapter 1. Fusion 2.2 , Functions
|
Параметр |
Требование |
Описание |
---|---|---|
< |
Аргументация операции |
|
< |
Любой тип |
Начальное состояние |
< |
< |
Аргументация операции |
iter_fold(seq, initial_state, f);
Тип возврата: Любой тип
Семантика:<f(...
f(f(initial_state,it1),it2) ...itN)
>, где<it1 ...itN
>являются последовательными итераторами на элементах<seq
>.
Линейное, точно<
приложения<result_of::size
><Последовательность>::значениеf
>.
#include <boost/fusion/algorithm/iteration/iter_fold.hpp> #include <boost/fusion/include/iter_fold.hpp>
struct make_string { typedef std::string result_type; template<typename T> std::string operator()(const std::string& str, const T& t) const { return str + boost::lexical_cast<std::string>(deref
(t)); } }; ... constvector
<int,int> vec(1,2); assert(iter_fold(vec,std::string(""), make_string()) == "12");
Статья iter_fold раздела Chapter 1. Fusion 2.2 Functions может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
реклама |