1 2Iteration algorithms are the basic building blocks behind many of the 3MPL's algorithms, and are usually the first place to look at when 4starting to build a new one. Abstracting away the details of sequence 5iteration and employing various optimizations such as recursion 6unrolling, they provide significant advantages over a hand-coded 7approach. 8 9.. Of all of iteration algorithms, ``iter_fold_if`` is the 10 most complex and at the same time the most fundamental. The rest of 11 the algorithms from the category |--| ``iter_fold``, ``reverse_iter_fold``, 12 ``fold``, and ``reverse_fold`` |--| simply provide a more high-level 13 (and more restricted) interface to the core ``iter_fold_if`` 14 functionality [#performace]_. 15 16 .. [#performace] That's not to say that they are *implemented* 17 through ``iter_fold_if`` |--| they are often not, in particular 18 because the restricted functionality allows for more 19 optimizations. 20 21 22.. copyright:: Copyright � 2001-2009 Aleksey Gurtovoy and David Abrahams 23 Distributed under the Boost Software License, Version 1.0. (See accompanying 24 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 25