diff --git a/doc/html/fusion/algorithm/iteration/functions/iter_fold.html b/doc/html/fusion/algorithm/iteration/functions/iter_fold.html new file mode 100644 index 00000000..3999f587 --- /dev/null +++ b/doc/html/fusion/algorithm/iteration/functions/iter_fold.html @@ -0,0 +1,253 @@ + +
+ +![]() |
+Home | +Libraries | +People | +FAQ | +More | +
+
+
+ For a sequence seq
,
+ initial state initial_state
,
+ and binary function object or function pointer f
,
+ iter_fold
returns the result of the repeated application
+ of binary f
to the
+ result of the previous f
+ invocation (inital_state
+ if it is the first call) and iterators on each element of seq
.
+
+ +
+template< + typename Sequence, + typename State, + typename F + > +typename+result_of::iter_fold
<Sequence, State const, F>::type iter_fold( + Sequence& seq, State const& initial_state, F f); + +template< + typename Sequence, + typename State, + typename F + > +typenameresult_of::iter_fold
<Sequence const, State const, F>::type iter_fold( + Sequence const& seq, State const& initial_state, F f); +
+
+Table 1.39. Parameters
+
+ + Parameter + + |
+
+ + Requirement + + |
+
+ + Description + + |
+
---|---|---|
+
+ |
+
+ + A model of Forward + Sequence + + |
+
+ + Operation's argument + + |
+
+
+ |
+
+ + Any type + + |
+
+ + Initial state + + |
+
+
+ |
+
+
+ |
+
+ + Operation's argument + + |
+
+ +
+iter_fold(seq, initial_state, f); ++
+
++ Return type: Any type +
++
+
+ Semantics: Equivalent to f(...
+ f(f(initial_state,it1),it2) ...itN)
where it1 ...itN
+ are consecutive iterators on the elements of seq
.
+
+
+
+ Linear, exactly
applications of result_of::size
<Sequence>::valuef
.
+
+ +
+#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"); +
+
++ | + |
![]() |
+Home | +Libraries | +People | +FAQ | +More | +
+
+
+ For a sequence seq
,
+ initial state initial_state
,
+ and binary function object or function pointer f
,
+ reverse_fold
returns the result of the repeated
+ application of binary f
+ to the result of the previous f
+ invocation (inital_state
+ if it is the first call) and each element of seq
.
+
+ +
+template< + typename Sequence, + typename State, + typename F + > +typename+result_of::reverse_fold
<Sequence, State const, F>::type reverse_fold( + Sequence& seq, State const& initial_state, F f); + +template< + typename Sequence, + typename State, + typename F + > +typenameresult_of::reverse_fold
<Sequence const, State const, F>::type reverse_fold( + Sequence const& seq, State const& initial_state, F f); +
+
+Table 1.38. Parameters
+
+ + Parameter + + |
+
+ + Requirement + + |
+
+ + Description + + |
+
---|---|---|
+
+ |
+
+ + A model of Forward + Sequence + + |
+
+ + Operation's argument + + |
+
+
+ |
+
+ + Any type + + |
+
+ + Initial state + + |
+
+
+ |
+
+
+ |
+
+ + Operation's argument + + |
+
+ +
+reverse_fold(seq, initial_state, f); ++
+
++ Return type: Any type +
++
+
+ Semantics: Equivalent to f(...
+ f(f(initial_state,eN),eN-1) ...e1)
where e1 ...eN
+ are the consecutive elements of seq
.
+
+
+
+ Linear, exactly
applications of result_of::size
<Sequence>::valuef
.
+
+ +
+#include <boost/fusion/algorithm/iteration/reverse_fold.hpp> +#include <boost/fusion/include/reverse_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>(t);
+ }
+};
+...
+const vector
<int,int> vec(1,2);
+assert(reverse_fold(vec,std::string(""), make_string()) == "21");
+
++
++ | + |
![]() |
+Home | +Libraries | +People | +FAQ | +More | +
+
+
+ For a sequence seq
,
+ initial state initial_state
,
+ and binary function object or function pointer f
,
+ reverse_iter_fold
returns the result of the repeated
+ application of binary f
+ to the result of the previous f
+ invocation (inital_state
+ if it is the first call) and iterators on each element of seq
.
+
+ +
+template< + typename Sequence, + typename State, + typename F + > +typename+result_of::reverse_iter_fold
<Sequence, State const, F>::type reverse_iter_fold( + Sequence& seq, State const& initial_state, F f); + +template< + typename Sequence, + typename State, + typename F + > +typenameresult_of::reverse_iter_fold
<Sequence const, State const, F>::type reverse_iter_fold( + Sequence const& seq, State const& initial_state, F f); +
+
+Table 1.40. Parameters
+
+ + Parameter + + |
+
+ + Requirement + + |
+
+ + Description + + |
+
---|---|---|
+
+ |
+
+ + A model of Forward + Sequence + + |
+
+ + Operation's argument + + |
+
+
+ |
+
+ + Any type + + |
+
+ + Initial state + + |
+
+
+ |
+
+
+ |
+
+ + Operation's argument + + |
+
+ +
+reverse_iter_fold(seq, initial_state, f); ++
+
++ Return type: Any type +
++
+
+ Semantics: Equivalent to f(...
+ f(f(initial_state,itN),itN-1) ...it1)
where it1
+ ...itN
are consecutive iterators on the elements of seq
.
+
+
+
+ Linear, exactly
applications of result_of::size
<Sequence>::valuef
.
+
+ +
+#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"); +
+
++ | + |
![]() |
+Home | +Libraries | +People | +FAQ | +More | +
+
+
+ Returns the result type of iter_fold
.
+
+ +
+template< + typename Sequence, + typename State, + typename F> +struct iter_fold +{ + typedef unspecified type; +}; ++
+
+Table 1.45. Parameters
+
+ + Parameter + + |
+
+ + Requirement + + |
+
+ + Description + + |
+
---|---|---|
+
+ |
+
+ + A model of Forward + Sequence + + |
+
+ + The sequence to iterate + + |
+
+
+ |
+
+ + Any type + + |
+
+
+ The initial state for the first application of |
+
+
+ |
+
+
+ |
+
+ + The operation to be applied on traversal + + |
+
+ +
+iter_fold<Sequence, State, F>::type ++
+
++ Return type: Any type +
++
+
+ Semantics: Returns the result of applying
+ iter_fold
to a sequence of
+ type Sequence
, with
+ an initial state of type State
+ and binary function object or function pointer of type F
.
+
+
+
+ Linear, exactly
applications of result_of::size
<Sequence>::valueF
.
+
+ +
+#include <boost/fusion/algorithm/iteration/iter_fold.hpp> +#include <boost/fusion/include/iter_fold.hpp> ++
+
++ | + |
![]() |
+Home | +Libraries | +People | +FAQ | +More | +
+
+
+ Returns the result type of reverse_fold
.
+
+ +
+template< + typename Sequence, + typename State, + typename F> +struct reverse_fold +{ + typedef unspecified type; +}; ++
+
+Table 1.44. Parameters
+
+ + Parameter + + |
+
+ + Requirement + + |
+
+ + Description + + |
+
---|---|---|
+
+ |
+
+ + A model of Forward + Sequence + + |
+
+ + The sequence to iterate + + |
+
+
+ |
+
+ + Any type + + |
+
+
+ The initial state for the first application of |
+
+
+ |
+
+
+ |
+
+ + The operation to be applied on traversal + + |
+
+ +
+reverse_fold<Sequence, State, F>::type ++
+
++ Return type: Any type +
++
+
+ Semantics: Returns the result of applying
+ reverse_fold
to a sequence
+ of type Sequence
, with
+ an initial state of type State
+ and binary function object or function pointer of type F
.
+
+
+
+ Linear, exactly
applications of result_of::size
<Sequence>::valueF
.
+
+ +
+#include <boost/fusion/algorithm/iteration/reverse_fold.hpp> +#include <boost/fusion/include/reverse_fold.hpp> ++
+
++ | + |
![]() |
+Home | +Libraries | +People | +FAQ | +More | +
+
+
+ Returns the result type of reverse_iter_fold
.
+
+ +
+template< + typename Sequence, + typename State, + typename F> +struct reverse_iter_fold +{ + typedef unspecified type; +}; ++
+
+Table 1.46. Parameters
+
+ + Parameter + + |
+
+ + Requirement + + |
+
+ + Description + + |
+
---|---|---|
+
+ |
+
+ + A model of Forward + Sequence + + |
+
+ + The sequence to iterate + + |
+
+
+ |
+
+ + Any type + + |
+
+
+ The initial state for the first application of |
+
+
+ |
+
+
+ |
+
+ + The operation to be applied on traversal + + |
+
+ +
+reverse_iter_fold<Sequence, State, F>::type ++
+
++ Return type: Any type +
++
+
+ Semantics: Returns the result of applying
+ reverse_iter_fold
to a sequence
+ of type Sequence
, with
+ an initial state of type State
+ and binary function object or function pointer of type F
.
+
+
+
+ Linear, exactly
applications of result_of::size
<Sequence>::valueF
.
+
+ +
+#include <boost/fusion/algorithm/iteration/reverse_iter_fold.hpp> +#include <boost/fusion/include/reverse_iter_fold.hpp> ++
+
++ | + |