修正済みファイル boost/multi_index_container.hpp
パッチファイル multi_index_initializer_list.patch
テストコード test_initializer_list.cpp
こんな感じで書けるようにしました。
#include <iostream> #include <boost/multi_index_container.hpp> #include <boost/multi_index/ordered_index.hpp> #include <boost/multi_index/sequenced_index.hpp> #include <boost/range/algorithm/for_each.hpp> using namespace boost::multi_index; typedef multi_index_container< int, indexed_by< ordered_unique<identity<int> >, sequenced<> > > container; void disp(int x) { std::cout << x; } int main() { const container c = {3, 1, 4}; // この初期化 boost::for_each(c, disp); std::cout << std::endl; boost::for_each(c.get<1>(), disp); std::cout << std::endl; }
134 314
BoostのTracにも投稿しておきました。
https://svn.boost.org/trac/boost/ticket/4814