![]() |
![]() ![]() ![]() ![]() |
![]() |
reverse_iter_foldBoost , Chapter 1. Fusion 2.2 , Functions
|
||||||||||||||||||
|
Параметр |
Требование |
Описание |
|---|---|---|
|
Аргументация операции |
|
|
Любой тип |
Начальное состояние |
|
|
Аргументация операции |
reverse_iter_fold(seq, initial_state, f);
Тип возврата Любой тип
Семантика: Эквивалент f(...f(f(initial_state,itN),itN-1)...it1), где it1...itN являются последовательными итераторами на элементах seq.
Линейный, точно приложения результат_::размер<Последовательность>::значениеf.
#include <boost/fusion/algorithm/iteration/reverse_iter_fold.hpp> #include <boost/fusion/include/reverse_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(reverse_iter_fold(vec,std::string(""), make_string()) == "21");
Статья reverse_iter_fold раздела Chapter 1. Fusion 2.2 Functions может быть полезна для разработчиков на c++ и boost.
реклама |