C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: boost::mplでλ式


(過去ログ 34 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■17149 / inTopicNo.1)  boost::mplでλ式
  
□投稿者/ デフォルトの名無し (1回)-(2008/04/17(Thu) 22:03:21)

分類:[雑談] 

Schemeの以下のλ式

 (lambda (n) (+ n 1))
 ((lambda (n) (+ n 1)) 5)

に相当するものをboost::lambdaで書くと、それぞれ

 boost::lambda::_1 + 1
 (boost::lambda::_1 + 1)(5)

になると思います。
これを、コンパイルタイムの関数で書きたいと思っています。(つまりboost::mplらへんを使って書きたい)
単なる興味です。すみません。(だから「雑談」)
あと、.NETに関係なくてすみません...。

 boost::mpl::plus
 boost::mpl::lambda
 boost::mpl::int_
 boost::mpl::_1

このへんを使うんじゃないかなぁ、ってことは分かるんですが、具体的なシンタクスがわかりません。
ここから始めてみようと思います、MPL。
どなたか気が向いた方、教えてくれませんか。よろしくお願いします。

いい文献など教えてもらえれば、とても嬉しいです。
引用返信 編集キー/
■17208 / inTopicNo.2)  Re[1]: boost::mplでλ式
□投稿者/ デフォルトの名無し (2回)-(2008/04/18(Fri) 15:32:01)
単純に足し算は

 typedef mpl::plus<mpl::int_<10>, mpl::int_<1> >::type sum;

でできるっぽい。
だけど、カリー化して1変数関数を取得した後にint_<10>を渡したいんだよなぁ。
むむむ...。
MPLでカリー化。書き方が全く分からなうぃ。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -