2008-01-18

BoostのSandBoxを探検する

 Boostのsanboxをあさってみた。まず気になるのは、やはりbigint.hppだ。さっそく使ってみた。なるほど、計算はできる。しかし、ひとつだけ問題がある。動かない。bigintに最も期待されることは何か? 動くことだ。なぜこのコードが動かないんだ。
boost::bigint a("1000000000000000") ; boost::bigint x = a / 10001 ;
 VC9のセキュアなイテレータを使うと例外を投げ、セキュアなイテレータを使わないと、無限ループする。  これは使えない。この手のライブラリこそ、Boostに必要だと思うのだけれど。  次に、type_traitsを見てみた。is_better_conversion.hppが気になるところだ。どうやら、次のように使うらしい。
boost::is_better_conversion< int, float, bool >::value // false boost::is_better_conversion< int, bool, float >::value // true boost::is_better_conversion< short, bool, int >::value // false boost::is_better_conversion< short, int, bool >::value // true
 まあ、面白いメタ関数とは言えるが、何に使うんだろう。そもそも、実装から考えるに、is_better_overload_resolution_matchなどと名づけたほうがいいのではないだろうか。  boost/linear_sort以下のファイル  特別興味深いというわけではないが、ジェネリックなソート集。まあ、この辺は教科書にこそ出てくるものの、現実では、ジェネリックなアルゴリズムがあろうと、使いどころがないだろうが。  個人的に期待したいのは、やはりguiとかreflectionなどだが、現状では完成度が話にならないし。

No comments:

Post a Comment

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.