読者です 読者をやめる 読者になる 読者になる

boost::assign::list_ofを使ってみた

#include <iostream>
#include <vector>
#include <shand/foreach.hpp>
#include <boost/assign/list_of.hpp>

using namespace std;
using namespace boost::assign;

int main()
{
    vector<int> v = list_of(3)(1)(4); // !!!

    foreach (int value, v)
        cout << value << endl; // 3, 1, 4

    return 0;
}


std::listにも使える

list<int> ls = list_of(3)(1)(4);


std::map用にはmap_list_ofが用意されている

map<string, int> dict = map_list_of("Akira", 22)("Millia", 16)("Johnny", 38);


順番がかなり前後しちゃったけど、list_ofで使われてるテクニックはこれ
container_convertor