2006-11-01から1ヶ月間の記事一覧

平成ブログ文学

ということは,このブログも1000年も経てば平成ブログ文学として後世に語り継がれている可能性が無きにしもあらずっ!?

菅原孝標女

本当に唐突な主張で申し訳ないんですが,更級日記の著者はヲタクの素質があると思う.

そうだ絵本で癒されよう

そうだ,『赤ずきん』の絵本でも買って読んで癒されることにしようそうしよう.

うだうだうだうだうだうだうだうだ

ぜんぜんモチベーション上がってこないねぇ.困ったねぇ.

っていうか Boost.Threads にセマフォ semaphore 無いんですけどっ!?

副題:最近は (スレッド間で共有されるメモリに対する同期処理としては) セマフォは推奨されていなくて, mutex か, mutex と condition variable の組み合わせを使うことが推奨されている風潮があるんですけどっ!?でもそれに関する具体的な rationale が…

Read/Upgradable/Write Lock

http://thread.gmane.org/gmane.comp.lib.boost.devel/149858/focus=149879 経由で. あは. あはは. あははは. なぜわざわざこんな upgradable mutex なんてもの導入しているかについてはこことかここ参照. upgradable lock を簡単に説明すると「排他的…

From Mechanism to Method:The Safe Stacking of Cats

http://www.ddj.com/dept/cpp/184403815 これ面白かった.この記事,以前読んだことがあったのだけれど,そのときは記事の前半だけ流し読みしてて「知ってる話っぽいからいーや」とか思って途中で読むのやめてた.しかし,後半が例外安全かつスレッド安全な…

コピーを伴わずに左辺値->右辺値変換を行う

C++

template< class T > T f( T &x ) { return true ? x : f( x ); }上記のコード片中の3項演算子の計算結果は右辺値だが,依然としてオブジェクト x を指し続けている(つまりコピーが行われない). 5.16 Conditional operator 3 Otherwise, if the second an…

関数テンプレートにおける右辺値識別

完全に個人的なメモなので気にしないよ〜に. #include <iostream> #include <boost/mpl/identity.hpp> #include <boost/mpl/if.hpp> #include <boost/type_traits/is_volatile.hpp> #include <boost/static_assert.hpp> struct volatile_refused; template< class T, class R = void > struct refuse_volatile : public boost::mpl::if_< boost:…</boost/static_assert.hpp></boost/type_traits/is_volatile.hpp></boost/mpl/if.hpp></boost/mpl/identity.hpp></iostream>

range::transformed + cradle::lexical_cast + range::delimited + range::jointed

とりあえず,なんか以下のコード片みたいにいろんな Range Adaptor を組み合わせて面白いことできないかな〜的なことを志向する感じで. char const *ans = "0, 1, 2, 3, 4, 5, 6, 7, 8, 9"; assert( range::equal( range::counting( 0, 10 ) // 0, 1, 2, ..…