にゃははー

はへらー

C++

ちょっとよくわからない挙動

lambdaについて調べてたら・・・ - にゃははー にも書いたやつが一向に加筆修正されないからよくわからん。GCCはg5のようなコードをrejectするけどiが参照出来てしまっているのは問題なはず。 それともsizeof operatorだけ(あとその類)だけは例外?ちょっと…

range-based forのrange_traits派が弱いのでなんとかしたい

C++

いや、別に規格が使わないって言ったら私は従いますよ。みなさんがADL使ってるように。

【修正済:r170532】GCC4.6.0 trunk C++0xモードのバグ

C++0xでconstexprが導入されましたがそれによってstatic constがconstant-expressionから外されたということで無ければバグです。 ちょっと今は時間無いので仕様読んで明日あたり更新します。つまり以下のようなコードがエラーになってしまいます。 template …

決めた!おれプロのjammerになる!

オレオレライブラリまとめ?(備忘録)

気がついたら追加するかも「俺のライブラリ? ほしけりゃくれてやる。探して見ろ。この世の全てをそこに置いてきた。」世はまさに超並列時代! コミュニティレベル Boost http://www.boost.org/ C++界で最強のオレオレライブラリ?Boostの名前を知らない奴は…

純粋仮想関数が純粋じゃなかった件について

C++

何を言ってるか(ry

再帰的に展開するpstade/oven/io.hpp(実際はpstade/oven/read.hpp)

ネストしたコンテナの中身を全部ぶちまけたいと思ったことはありませんか?「C++0xならrange based forが助けてくれる...」確かにそうかもしれませんね... だが私は修正してP-stadeを使った!! using namespace std; namespace oven = pstade::oven; vector…

4.4からのdecltypeでのICE

template < typename T > int f( const T &, const char * ); template < typename T > decltype( f( T(), "" ) ) g( const T &t ); void h() { g( 0 ); } https://ideone.com/qkxJ1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47488 が死ぬ。どうやらdec…

いつかのICEがfix

GCC4.6.0のinternal compiler error - にゃははー のICEがfixされたようです。 46552 – [4.6 Regression] [C++0x] Internal compiler error on pointer to member variable with templateP-stadeも元に戻るのかな?

Boost.MPLのlambdaをC++0xで簡易的に作ってみた

車輪の再開発は良くないです。そればっかりやってる人は成長しません。つまり私は成長しません。とはいえ、再開発をすることで勉強するなら話はまた別です。 ってことでBoost.MPLのlambdaの動作が大体想像つくので作ってみました。http://ideone.com/92NuQな…

順調にbugfix

GCC4.6.0でのinternal error - にゃははー が修正されたようです。いや、それだけですがね。まぁP1が無くなるのはまだ1月ぐらいはかかるんじゃないんですかね。

例外仕様とlambdaとunexpected

C++98/03からある変な(?)として例外仕様がある。C++0xのnoexceptと同じようなことをサポートしている機能だ。 通常例外仕様を書く事はないだろう。ましてやunexpected handlerなぞ・・・例外仕様を記述することで予期しない例外を処理することが可能になる。…

Perfect forwarding type II

オレツエーtype II前スレ: Perfect forwarding!! - にゃははーこっちの方がSFINAEの度合い的に問題なさそう・・・ ってかforwardの定義がすごい簡略化できた。

Perfect forwarding!!

とりあえずオレツエー状態。あとdiffはどっかに貼るべきだったかな・・・

最近(でもないけど)書いたマジキチなコード達

それほどマジキチじゃないけどkeep aliveのために無駄にネットワークリソースを浪費する。

Rv-refとconst Lv-ref

C++

一時オブジェクトへの参照を受けるとき、C++03だとconst T &を使っていると思います。 が、C++0xではT &&が使えることもあってstd::forwardとかstd::moveがいい感じに動いているのですが、C++03でRv-refとconst Lv-refをSFINAEで判別したいってことをいまし…

fix!

C++

GCC4.6のバグ - Flast?なにそれ、おいしいの?で挙げたバグが12/04〜12/10のどれかの間でfixされた。いや、ただそれだけだけど。とりあえず無知無能をさらけ出した悲しみに今は浸りたい・・・

【5日目】Boost.Moveが気になって

C++ Advent Calendar 2010も5日目を迎えました。どーでもいいけど、本日はBoostjp忘年会です!!そしてこのページの読書会はやりません。(キリッさてさて、多くの人が待ち望んでいるC++0xですが、C++をいじり倒してる人もそうでない人も、触れる機会がダントツ…

we are on track to ...

C++

件のアレ*1は無いらしいです。ここ*2によるとFDIS発行は順調なようなのでそれに伴い partake.in はFCD -> FDISとしました。で、FDISを読んだらいろいろtypoとかあると思うので、それは2011/08のInidiana meetingまでにWGの方とかAd-Hoc会議を通じて委員会に…

copy/move-ctorやcopy/move-assignmentの認識

C++

誤った解説は誤った認識を無駄に広げる。

紙!紙をくれ!

C++

ってことでn3225が公開されました。各所*1で話題になってるので内容には触れないのですが、どうにも腑に落ちない箇所が。 *1:こことか: http://cpplover.blogspot.com/2010/12/post-batavia-mailiing.html

気がついたら

C++

いつぞや (lambdaについて調べてたら・・・ - Flast?なにそれ、おいしいの?) のalignofですが、n3190を読んでたら unary-expression: alignof unary-expression という一文がみえたので、 int i; alignof i; はwell-formedです。 いつ修正されたのかな...…

CUDAにおけるBoostをつくるという意気込みで頓挫するプロジェクト

を細々とやろうかと。例えばCUDAのサードパティー製ライブラリと言えばtrustが有名だが、これはHostレベルでSTLっぽくできるようにするライブラリである。(と思う というのも私は軽く眺めただけなのでよく知らないで、どっちかって言うとDeviceレベルのコー…

Final will be not Final, but new Final will come soon. (ハァ?

C++

英語怖いあれ?口癖? まぁいいや 英語怖いってことでtwitterでも少し話題になったけどFCDが再度発行される可能性がでてきてるようです。 The View (or trip report) from the Nov 2010 C++ Standard meeting (C/C++ compilers for IBM Z Blog)(下の方FDISは…

C++0x FCD読書会

C++

を開けたらいいねって感じですかね。仕様が爆発してきている今日この頃、みんなで崩しにかかれば怖くないというモチベーション。 undefined behaviorとunspecified behaviorの狭間で変更されてるものとかあるみたいですし。やるんならつくばでやってくれると…

std::forwardのやつと関連して

前回はこれ -> 2010-11-29 - Flast?なにそれ、おいしいの? 今度はこんな投稿が来た。46719 – [C++0x] Cannot call variadic function templateで、仕様を読んだわけだが、やっぱり推論可能な使い方のリストにはないし、わたした変数からの暗黙的な型推論も…

gcc bugzillaで見つけたわからないバグ

std::forwardと同じ理由だと思うんだけどわからん。ってことでエロい人教えてーhttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=23055incomplete typeへのポインタだとしても、そもそもXをstd::forwardと同じ理由で導出できないと思うんだけど... templateの型…

defaultな関数

C++

defaultはSpecial Functionだけにしか適用できないと思ってたんですが、オーバーロードできるoperator全般に適用可能らしいです。n2346に書いてありました。 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htmこれって2007年かよw よく読…

Oops!

またぶつかった。ということで問題のコード。

std::reference_wrapperをunwrapしたいけどダメだった・・・

C++

タイトルの通りだけど、unwrapした型を取りたい。いやなにもstd::reference_wrapperだけでなく、他の変換関数を持ってるやつにも適用できるやつが欲しい。で、試したけどダメだったのでアドバイスをもらえたらとか甘いこと考えてる。