にゃははー

はへらー

Boost

Boostのミラー

みんなsf.netとか使うから気づかないうちにftp.jaistにつながってるわけだけど、あれダウンロードURL覚えられんし、正しいダウンロードURLになるまで3hopあるので良くないです。。。なので http://ftp.tsukuba.wide.ad.jp/software/boost にミラーしました。…

progress_display?あぁ、彼なら俺のリポジトリで寝てるぜ?

progress_displayがBoostから出家しているようです。でもprogress_displayは行ったきりではなく、いつかは帰ってきてくれるでしょう。 なぜなら私のところのやつはデクリメントできるから!!!

Boost.Peroperoぷろとー ちがった... Boost.Protoぺろぺろー

最近自分の研究でProto充してSFINAEで脳汁噴出してるんだけど、domainとExtendsを作ってgeneratorってなんぞやーって適当に書いてればよかったんだ。 けど、P-Stade.Ovenのregularとかそこら辺でもよく出てるprvalueをexpressionに持ってくるとDangling Poin…

[boost|std]::bindではまったこと

多分よく訓練されたバインダー達はこんな程度の引っかかり方はしないだろうけど私は嵌った。 つまり以下のコードだ。 #include <iostream> #include <functional> #include <boost/bind.hpp> struct some_functor { typedef bool result_type; template < typename Pred > bool operator()( Pred pr</boost/bind.hpp></functional></iostream>…

narrowing conversionを考慮したis_convertible

ってかnarrowing conversionを知らんって人のほうが多いか。 これはC++0xからの破壊的変更のひとつで、unified initializerを使った場合に暗黙の型変換を行わないっていうもの。 例えば、 int x[] = { 0.0 }; ってのはC++03では通ってて、double->intの暗黙…

エスケープシーケンス

って覚えんのめんどいしやばいので適当に書いてる。(って前に書いたような... https://github.com/Flast/trance/tree/manip masterとはマージしてないのでいくつかの部分は古いまんまなのでいつマージするか...これ見て思い出した。 コンソールの文字色を変…

詳細は明日とか言っときながら全然書いてなかったけど明日を定義してなかったから問題なかった

ということでとりえあえずTrance.Configの説明 http://d.hatena.ne.jp/Flast/20110506/1304696074 ファイルは https://github.com/Flast/trance/blob/master/trance/config.hpp です細かい説明が面倒なんで、Boost.Configのdoc Macros that describe possibl…

library Trance.Config is new Boost.Config with record ... end record;

https://github.com/Flast/trance/blob/master/trance/config.hppつかれた・・・ 詳細は明日・・・

Trance.TypeInfoを改良

https://github.com/Flast/trance/blob/master/trance/typeinfo.hpp といっても http://d.hatena.ne.jp/RiSK/20110504/1304495091 をもとにデマングル失敗時に例外を投げるように修正する程度ですが。あと、TRANCE_TYPEIDを修正してconst prvalueを返すよう…

Boost.Configぅぅぅぅぅぅぅぅぅっぅ

Boost.ConfigにはBOOST_NO_*といったコンパイラ対応等に関するマクロがありますが、これには問題があります。 例えば #include <boost/config.hpp> void hogehoge() #if !defined( BOOST_NO_NOEXCEPT ) noexcept #endif { fugafuga ... } のようなソースを書いたとき、BOOST_NO</boost/config.hpp>…

さりげない追加

Boost 1.46.1あたりからでしょうかbjamをコンパイルするとbjamと一緒にb2という全く同一のバイナリが生成されるようになりました。 2文字削ることに命かけているひとには嬉しい追加ですね(謎 - 3/31 追記 どうやら1.46.1では入っていない様です。1.47から入…

BOOST_ROOTからライブラリを引っ張ってくる(失敗

普段は/usr/local/lib/の下のバイナリを-lboost_unit_test_frameworkで引っ張ってくるんだけど、出来たらuse-projectからリンクしたんだけどな…ってことで簡単に書くと import os ; BOOST_ROOT = [ os.environ BOOST_ROOT ] ; use-project /boost : $(BOOST_…

bjamに渡されるコマンドライン引数を取得する

例えばコマンドライン引数が必要になったとしよう、どうすればいいだろうか。 modulesモジュールが解決してくれる。 import modules ; .argv = [ modules.peek : ARGV ] ; ECHO $(.argv) ; とある場合、bjam hogeと実行するとそのままbjam hogeと出力された…

bjamで作ったバイナリを実行する

@manga_osyoとこんなやりとりがあった window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platfor…

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

Boost.Test(boost/test/unit_test.hpp) with nvcc

segfaultします。

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

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

Perfect forwarding type II

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

Perfect forwarding!!

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

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

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

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

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

C++1xでぜひいれて欲しい機能

0xじゃないよその次の話だよ。C++って多重継承あるから難しいけど、基底クラスの型を取得する構文がほしい。 例えばdeclbase()とかbaseof()とか...