BOOST_REVERSE_FOREACH

Boost 1.36 から追加された BOOST_REVERSE_FOREACH はその名の通り、逆順 foreach です。

#include <iostream>
#include <vector>
#include <boost/foreach.hpp>

using namespace std;

int main()
{
    vector<int> v;

    v.push_back(1);
    v.push_back(2);
    v.push_back(3);

    BOOST_REVERSE_FOREACH(int value, v) {
        cout << value << endl;
    } // 3, 2, 1
}


こういうのを用意しておくと便利です。

#define reverse_foreach BOOST_REVERSE_FOREACH

Boost.Foreach