2010-10-03から1日間の記事一覧

BOOST_PP を使用して、複引数の template 関数を自動生成する

[お題] template< typename T0, typename T1 > std::string join_string(const T0& arg0, const T1& arg1){ return boost::lexical_cast<std::string>(arg0) + boost::lexical_cast<std::string>(arg1); } template< typename T0, typename T1, typename T2 > std::string join_string(</std::string></std::string>…

range を for_each 等で走査する時に、次の値が欲しい

こんな感じ。 int array[] = {0, 1, 2, 3, 4, 5}; boost::for_each( boost::combine( array|adaptors::sliced(0, boost::distance(array)-1), array|adaptors::sliced(1, boost::distance(array) ) ), [](boost::tuple<int, int> data){ int n = boost::tuples::get<0></int,>…