[過去ログ]
Boostを語れゴラァ part3 (1001レス)
Boostを語れゴラァ part3 http://echo.5ch.net/test/read.cgi/tech/1158991211/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
646: デフォルトの名無しさん [sage] 2007/01/20(土) 00:52:42 >>643 おお、ありがとう。 やっぱり戻り値の型が判別できないのが問題なのかな? 色々いじりつつ、もう一度 lambda の sig を読んでみたら、今度はちょっと分かった気が。 template <int i> struct get { /**/ template <class Tuple> /**/ typename boost::tuples::element<i, Tuple>::type operator()(Tuple& t) const { /******/ return boost::get<i>(t); /**/ } /**/ template <class Args> /**/ class sig { /******/ typedef typename bo
ost::tuples::element<1, Args>::type Tuple; /******/ typedef typename boost::tuples::element<i, Tuple>::type Result; /**/ public: /******/ typedef typename boost::remove_cv<Result>::type type; /**/ }; }; bind(get<0>(), _1); ってことで、こう書いたらとりあえず行けたんだが、こんな感じでいいのかな? もっといいやり方があったりするんだろうか。 しかし、関数オブジェクトならこれでいい(?)けど、テンプレート関数には sig は使えないよね。 ということは、関数の場合はテンプレート引数を全部指定し
ないとダメってことかな。 いや、でも、boost::get<> のテンプレート引数全部指定してもダメだったし、キャストしてもムリだったような。 なんかまたよくわからなくなってきた…(´・ω・`) http://echo.5ch.net/test/read.cgi/tech/1158991211/646
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 355 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s