2012-08-01から1ヶ月間の記事一覧

boost fusion dynamic at_n

usage boost::fusion::vector<int,double,std::string,char> vec(9 ,2.2 ,"aaa" ,'b'); std::cout << at_n_dynamic<double>(vec, 1) << std::endl; //=> 2.2 detail #include <boost/fusion/include/vector.hpp> //#include <boost/fusion/algorithm.hpp> template<typename V> struct fusion_at_n_functor { mutable int i…</typename></boost/fusion/algorithm.hpp></boost/fusion/include/vector.hpp></double></int,double,std::string,char>

boost.variantの補助ツール

boost::variant に以下の動作をさせたい variant<int,int> => int variant<int,double> => double variant<int , boost::rational<int> > => boost::rational<int> variant<int , double , std::string> => variant<double,std::string> しかしこうなってくれないので自分で拡張ツールを作った。 https://github.com/niitsuma/variant_shrink(要するにdecltype(int+d</double,std::string></int></int></int></int,double></int,int>…

boost coroutine

boost context Boost.Context について調べた http://d.hatena.ne.jp/melpon/20111213/1323704464 Continuation with Boost.Context http://www.slideshare.net/faithandbrave/continuation-with-boostcontext example http://yak-ex.blogspot.jp/2012/12/bo…