PStade.Oven taken

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

using namespace std;
using namespace pstade::oven;

#define foreach BOOST_FOREACH

int main()
{
    vector<int> v;

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

    foreach (int item, v|taken(3)) { // 先頭の3要素取得
        cout << item << endl;
    }
    // 1, 2, 3

    return 0;
}