2010-03-01から1ヶ月間の記事一覧

C++/CLIについてのよくある誤解

以前にも書いたような気がしますが、もう一度書きます。C++/CLI(仕様の邦訳)は、.netからC++やその他ネイティブコードのライブラリを楽に使えるようにするためと、そのための作業を楽に行うための言語です。「.netで使えるC++」ではありません。そういうこ…

WG21 Paper n3030 Rvalue Reference as "Funny" Lvalues を Background だけ訳した(主に私が理解するため)

そのうち江添さんがきっちりとしたエントリーにするだろうけど、折角途中まで訳したし、背景だけ終わらせて置いときます(一部訳せなかったけど)。間違いとか飛躍しすぎとかがあればコメントなりtwitterなりで教えていただけると、私のえーぶんどっかいりょ…

前に作ったPP_IS_EMPTYの問題点

以前、PP_TUPLE_SIZEを作るために作ったPP_IS_EMPTYがどうなっていたのか思いだしたら、少しばかり問題がありました。 #define FOO(a, b, c) PP_IS_EMPTY(e FOO)eをカンマで区切られていないトークン列として、上記のようなトークン列を引数とすると、置換に…

Spirit.Phoenix に apply がなかったので作ろうと思ったら bind ができたでござる

C++

名前は apply だけど bind だよ。ちなみに boost::phoenix::bind よりすごい点は、 bind の第一引数を placeholder にできるところ。 あとC++03とC++0xの両方の場合で作ったけど、C++0xおいしいです (^q^)#include <boost/config.hpp>#if defined(BOOST_HAS_TR1_UTILITY) && !d</boost/config.hpp>…

時代はBoost.Lambdaではなく、Spirit.Phoenixなのだ

C++

#include <boost/spirit/home/phoenix/core.hpp> #include <boost/spirit/home/phoenix/operator.hpp> #include <boost/spirit/home/phoenix/scope.hpp> #include <boost/spirit/home/phoenix/bind.hpp> #include <boost/spirit/home/phoenix/function.hpp> #include <boost/spirit/home/phoenix/statement.hpp> #include <…</boost/spirit/home/phoenix/statement.hpp></boost/spirit/home/phoenix/function.hpp></boost/spirit/home/phoenix/bind.hpp></boost/spirit/home/phoenix/scope.hpp></boost/spirit/home/phoenix/operator.hpp></boost/spirit/home/phoenix/core.hpp>