1 名前:デフォルトの名無しさん [2009/08/28(金) 16:53:36 ] 過去スレ part 7 pc12.2ch.net/test/read.cgi/tech/1232367742/ part 6 pc11.2ch.net/test/read.cgi/tech/1207749841/ part 5 pc11.2ch.net/test/read.cgi/tech/1192662575/ part 4 pc11.2ch.net/test/read.cgi/tech/1175663346/ part 3 pc11.2ch.net/test/read.cgi/tech/1158991211/ part 2 pc8.2ch.net/test/read.cgi/tech/1139313234/ part 1 pc8.2ch.net/test/read.cgi/tech/1091198276/ ■関連サイト■ Boost C++ Libraries www.boost.org/ Boost 翻訳プロジェクト boost.cppll.jp/HEAD/ Let's Boost www.kmonos.net/alang/boost/ boost info shinh.skr.jp/boost/
18 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 13:32:04 ] ヘタに出力先を抽象化しない潔さに惚れる
19 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 00:14:40 ] >>18 専門家だよな、ある意味。
20 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 00:16:11 ] codepad ttp://codepad.org/ 長いソースを貼るときはここへ! ってテンプレに入れようぜ。 まあこのスレはみんなレベルが一定以上あるから 言わなくても大丈夫かもしれないけどさ。
21 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 04:56:17 ] >>14 new_clone書いても意味なくなったってこと? それともデフォルト的なnew_cloneがなくなったの?
22 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 23:17:23 ] >>21 よく分かりませんが、とりあえずその更新では/trunk/boost/ptr_container/clone_allocator.hppの template< class T > inline T* new_clone( const T* r ) { return r ? new_clone( *r ) : 0; } の部分が削除されました。
23 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 01:38:11 ] 更新しました。 ttp://booster.x0.to/ 以下更新内容の一部 [Unordered] Remove allocator_constructor since it's never used. Initial checkin of new version of Boost.Unordered. Remove unnecessary BOOST_DEDUCED_TYPENAMEs Remove a few unused parameters. Remove 'static' from next_node and node_count. Will hopefully make vacpp happy. Combine hash_structure and hash_table_manager. Move size_ and cached_begin_bucket_ into table, rename hash_table_manager hash_buckets. [Spirit] Spirit: using endian from trunk starting with V1.42 only Spirit: default parameters for custom generator specs, semantic changes to binary generators Bug fix for bol/eol flag setting. Hoist the char-class namespaces into qi (for usability) Spirit: allow for mpl::vector<> instead of mpl::vector0<> [Type_traits] Fix warnings emitted by gcc when building with -Wall -Wextra.Fixes #3381. [Property_tree] Merge proptree rewrite branch to trunk. Don't mangle whitespace too much. [Graph] Added fixes to and a test for incremental_components from Michael Hansen; fixes #3250 Added qualification to has_no_vertices in cuthill_mckee_ordering; fixes #3376 Added edge() function for new interface of CSR graph, enabling it to work with the Kolmogorov max-flow algorithm [Thread] boost.thread exception types are now header-only so some uses of boost. thread can be header only
24 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 13:40:32 ] 職場がBoostを全面的に許可しているとして boost::shared_ptr Boost.Function Boost.Lambda Boost.Spirit Boost.MPL Boost.Preprocessor これらは実務で使えるレベルまで勉強して習得すべきだと思います? boost::shared_ptrは使いますが、 Boost.MPLやBoost.Preprocessorは使ったことがありません。 実務で使っている方はいらっしゃいますでしょうか?
25 名前:24 [2009/09/06(日) 13:48:48 ] なお、この中ではboost::shared_ptrとBoost.Spiritは実務で使ったことがあります。
26 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 13:49:54 ] 全面的に許可されているけど、その中ではshared_ptrしか使ってない。 function、lambda、spiritは遊んだことあるけど今のところ実務では使ってない。 必要になってから勉強して習得すればいいんじゃないの? OJTで十分。
27 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 13:54:18 ] ところで>>12 の出力例ってprogress_displayに適切な引数か何かを与えれば 全部行けたりするの?
28 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 14:09:48 ] mplは使ってる オーバーロードの曖昧さを解決するためにenable_ifを覚えようとして、芋づる式に type_traitsやmplも覚えた
29 名前:26 mailto:sage [2009/09/06(日) 14:16:51 ] 訂正。functionは実務でもバリバリ使ってた。 ここ最近C++/CLIでdelegate使ってたから忘れてた。
30 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 15:02:57 ] lambdaは無くても良いから最低限bindが使いたいかな。 TR1に入ってるものくらいは全部許可されていてほしいところだよね。
31 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 15:11:18 ] progress_displayのライバルってregexとかbindとかなの?
32 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 15:21:23 ] wikiによるとprogram_optionsとcompressed_pairが有力なライバルらしい。
33 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 15:23:01 ] progress_displayさんとそんなTR1に入るような雑魚が相手になるはずねーっすよ
34 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 15:27:58 ] xpressiveさんが凶悪すぎるだけで、regexさんをうっかり使ってる人も結構いるし、 一応それなりに便利だし
35 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 16:18:11 ] mem_fnさんとか、TR1に入らなければcomposeさんと同じ道を歩んでるところだったな unique_ptrさんが正式にデビューしたらscoped_ptrさんとscoped_arrayさんも……
36 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 16:41:01 ] 老兵は死なず ただ消え去るのみ
37 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 16:42:06 ] program_optionsは正直コマンドライン引数だけを対象にして書きなおして欲しい 設定ファイル読み込みはいらないと思うんだが… でもMLでこれを言うのは気が引ける
38 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 16:58:41 ] 前スレで出たネタだけど、spirit(V1)には若干バグがあった。 1.40でも直ってないし、V2でちゃったしで、もう直らないのかも。 そんな感じなんで、業務に使うのはちょっと勇気が必要な気が。
39 名前:デフォルトの名無しさん [2009/09/06(日) 19:32:52 ] Arrayライブラリ使うのと配列使うのとは どちらが実行速度速いですか? いい換えるとArrayライブラリ使うと 配列に速度の点で負けますか?
40 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 19:40:55 ] >>39 速度は実測が基本 一般的な最適化が期待できるなら、速度が落ちる理由はたぶん無い。
41 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 19:42:06 ] 逆に言うと最適化のないデバッグビルドだと大分遅い
42 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 19:48:15 ] array.hppはboostでも最も実装が簡単なものの1つだから、単に読めばわかる。 もっとも基本的なインライン化さえされれば組み込み配列と等価だろうね。 組み込み配列に無い操作についても、普通にSTL使って書けば同じ実装になるだろうし。
43 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:00:06 ] あり^^
44 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:35:32 ] 今頃になって www.boostcon.com/community/wiki/show/private/2009/ にあるBoostconの資料漁ってみた。 まともなドキュメント無いから知らんかったが、 Spirit V2のKarmaって今までのSpirit(V2でのQiに相当)の逆に、 PEGとSemantic Actionを使ってformatするライブラリだったんだな。 それにしても、Qi(氣)とかKarma(業)とか、DQNネーム自重しろよwww
45 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:50:57 ] >>35 mem_fnは、俺が使わなくてもbindの中の人が使っているというイメージ。 いや、実際そういう実装なのか確かめていないけどさ。
46 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 08:37:07 ] >>44 SpiritはDQNネームに含まれないのか
47 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 13:09:20 ] >>44 なんてこったいBoostもDQNネームに犯されているのか・・・ 自作のプログラムまで波及しないように変数名はシンプルに a とか b にするよ
48 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 21:20:06 ] ところでspirit v2って使いやすいの?速いの?1.6と互換性あるの?
49 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 22:50:51 ] >>48 確信を付いたな。
50 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 22:56:51 ] >>48 解答を拒否する
51 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 04:32:48 ] 行列計算ライブラリを探しててBlitz++とかCPPLAPACKとか落としてみた後に BoostのuBLASの存在に気付いたんだけど、これってpdfマニュアル無いの?
52 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 05:48:28 ] >>48 実行速度は速いが使いやすくもなく互換性もない。バグもしばしば見つかる。 コンパイルは新しい世界が見えるほど遅い。現状では人柱用だな。
53 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:34:59 ] warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。 と言われるのが邪魔なので、 #pragma warning(disable : 4819) としてしまおうかと思っているのですが、 しない方がいいでしょうか?
54 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:56:23 ] どのヘッダーで出るん?
55 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 21:05:43 ] 昔format.hppで出た記憶があるな。 >>53 消しちゃえ。 プロジェクトのプロパティで消すのもいいよ。
56 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 21:14:06 ] 問題のヘッダーをincludeする前後でwarningのpush popすればいいんじゃないかな。
57 名前:53 mailto:sage [2009/09/08(火) 21:49:52 ] みなさんありがとうございます。 ご指摘のあった 警告レベルがあわないヘッダのインクルードで警告を抑制する方法 | いちばんやさしいゲームの作り方 ttp://www.game-create.com/archives/411 これで行かせていただきます。
58 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 17:53:48 ] Boost.Lambdaに対するPhoenixの長所をまとめた文書は無いのかな あと、Protoを土台にしたPhoenix V3の開発はどうなってしまったんだろう
59 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 18:31:14 ] >>58 LambdaとPhoenixは統合作業中とか聞いてますがね。
60 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 19:13:24 ] 0xで純正lambda入るから無駄になりそうな
61 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 19:35:56 ] >>59 実際に統合作業を進めているレポジトリが見つからないんだよね。 lists.boost.org/boost-announce/2008/10/0205.php を見る限りだと、統合するというより準備が出来次第LambdaからPhoenixに乗り換える、 っていうことになるような気がする。今は状況が変わったのかもしらんけど。 >>60 C++0xのLambdaはMonomorphicだからPolymorphicなBoost.LambdaやPhoenixとは別物。 SpiritのSemantic Action内でC++0xのLambda使おうとは思わないしね。
62 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 19:59:17 ] https://svn.boost.org/trac/boost/wiki/BoostPhoenix3 どうやらPhoenix V3の作業はここから進んでいないようだ
63 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:49:07 ] たった1つでいいから、すげー汎用性の利いたライブラリを 作ってくれればうれしいんだが。 と言ってみるテスト。
64 名前:progress_display mailto:sage [2009/09/09(水) 20:51:01 ] 俺の出番だな
65 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 21:33:01 ] Boost.Perl Boost.PHP Boost.Ruby Boost.BASIC Boost.ECMAScript 何と3ライブラリ同時リリース!!
66 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 21:35:34 ] Boost.HSPとBoost.なでしこも仲間に入れてくれ
67 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 21:52:24 ] PerlからBoostのprogress_displayが呼べるようになるんだな!
68 名前:63 mailto:sage [2009/09/09(水) 22:16:27 ] Boost.Lambda、Phoenix、Spiritの3つじゃなくて たった1つでいいから…(ry 的な意味でごんす。 決してこれら3つ以外で便利なライブラリの登場を期待しているわけではないごんす。
69 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:18:03 ] >>62 どういう状況で詰まっているということですかいな?
70 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 23:24:03 ] boost::asio で非同期のTCP 通信を行ってるんですが、帯域制限なんかはどうやって実装すれば良いですかね? async_read() に渡すハンドラの中で sleep() かませば良いですか?
71 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 23:45:55 ] >>69 詰まってるというより、Spirit回りの作業の方が優先で手が回ってないようだ Spirit V2のかなりの部分のマニュアルが1.40に間に合わなくて 今まさに1.41に向けてtrunkの方で書いてる最中みたいだしね https://svn.boost.org/trac/boost/browser/trunk/libs/spirit/doc 1.41ではやっとkarmaのマニュアルが読めそうだな
72 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 00:13:14 ] >>67 誰得
73 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 02:47:20 ] >>70 async_read_at()とハンドラ内でsleepかな やったことないけど
74 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 19:43:24 ] >>72 思っても言っていいことと悪いことがだな。
75 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 21:23:24 ] 口に出したら戦争だろうが!!
76 名前:デフォルトの名無しさん [2009/09/10(木) 22:55:14 ] >>73 できそうです。どもっす
77 名前:74 mailto:sage [2009/09/10(木) 22:57:23 ] >>75 カイジか。
78 名前:lambda mailto:sage [2009/09/12(土) 03:40:47 ] VC2010に移行してもここにいる皆さんは僕を使い続けてくれますよね・・・?
79 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 06:48:57 ] 文字数で_1 < _2の簡潔さを超えられると思うか? たとえC++に多態ラムダが入っても無理だ。 需要は減っても0にはならないさ。
80 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 13:27:11 ] boostとc++0xのlambdaってオーバーヘッドが小さいのはどっち?(実行時) 具体的に言うと、戻り値の関数オブジェクトで関数ポインタ使ってるのかな?
81 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 13:49:47 ] 理想的なコンパイラを想定するならどっちも同じじゃね?
82 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 10:48:44 ] function<int(int left,int right,int top,int bottom)> のように仮引数名を書いてもエラーにならないんで便利なんですけど、この仮引数名は無視されるんですか? それとも副作用ある?
83 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:07:32 ] >>82 言語としては意味が無い。 「便利」というとおり、コードを読む人には意味がある。
84 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:37:18 ] >>82 副作用は無い。
85 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:41:27 ] >>83-84 ありがとう。安心して使えます。
86 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 18:12:06 ] 更新しました。今週はSpiritのドキュメントの更新が中心の様です。 ttp://booster.x0.to/ 以下更新内容の一部 [Spirit] Spirit: support use with 1.40 release Spirit: Unified semantics of tokenize_and_parse functions Spirit: removed lex::omitted in favor of lex::omit Spirit: fixing examples Spirit: Added character generator negation (unary '~' for character generators) Spirit: Added default template type for stream_generator Spirit: fixing lexer issue inhibiting usage of more than one instance of a static lexer Spirit: added static lexer version verifying compatibility with generated tables [Property_tree] Fix a missing include problem. Hopefully also fix some other sun-cc problems, though not all. Fix inspection problems. Initialize a member variable, fix lots of failing tests. [Graph] Removed unused variable due to comment from Gordon Smith Refactored CSR graph code to get ready for bidirectional support Changed directedS case to a specialization Added fixes to grid graph from Michael Hansen [Units] add base unit for pound-force [Mpi] Templated string serialization on the char type [Serialization] reimplemented BOOST_STATIC_WARNING to depend on boost::mpl::print [Numeric] matrix.hpp, identity_matrix: fix #3293: added assignments to size_common_ on each place where size1 or size2 are changed
87 名前:デフォルトの名無しさん [2009/09/13(日) 22:39:52 ] BOOST_STATIC_ASSERT(boolean) って #if boolean とは違うんですか? どういった利点があるのでしょうか?
88 名前:87 mailto:sage [2009/09/13(日) 22:45:30 ] すいません 訳わかんないこと書いてました。 全然違いました 消えます。 ほんとすいませんすいません、、、
89 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 22:50:40 ] 一生許さない
90 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 23:26:02 ] progress_display「あの世で俺にわび続けろ>>87 ーーーッ!!」
91 名前:デフォルトの名無しさん [2009/09/16(水) 09:37:47 ] 落ちた
92 名前:デフォルトの名無しさん [2009/09/16(水) 09:40:07 ] 落ちてなかった
93 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 14:36:13 ] 静的こそ正義
94 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 20:52:16 ] >>93 Spiritさんですか? ごくろうさまです。
95 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 20:57:48 ] >>93 Boost.Regex「てめー俺のことDisってんのかYO!」
96 名前:mpl mailto:sage [2009/09/17(木) 21:04:51 ] 私が神だ。
97 名前:xpressive mailto:sage [2009/09/17(木) 21:16:11 ] サーセンwwww
98 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 21:18:44 ] Boost C++ Libraries - boost/multi_index/random_access_index.hpp ttp://www.boost.org/doc/libs/1_40_0/boost/multi_index/random_access_index.hpp ここなどで出て来る #pragma parse_mfunc_templ off は何をしているものでしょうか?
99 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 21:34:45 ] >>98 周辺にそのまま答えが書いてあるように見えるんだが…… MetroWerks CodeWarrior 8.3でバグが有って、設定によっては const&で一時オブジェクトをバインド出来ないから、 コンパイラが独自に用意しているparse_mfunc_templプラグマをオフにしてる。 Boostは準拠度低いコンパイラで動かせるようなWorkaroundが多いから、 自分の処理系で関係ない部分は読み飛ばすべき。
100 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 21:40:52 ] 具体的には herbsutter.wordpress.com/2008/01/01/gotw-88-a-candidate-for-the-most-important-const/ に書いてあるようなやつだな
101 名前:98 mailto:sage [2009/09/17(木) 22:20:49 ] >>99-100 ありがとうございます。 大変よく分かりました。 感謝です。
102 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 23:29:03 ] macportでゲットした1.40で、objective-cとC++の混在ソースをコンパイルすると、regexpでエラーが出てしまいます。助けてください。
103 名前:デフォルトの名無しさん [2009/09/19(土) 00:15:55 ] >>102 大丈夫かー!もうちょっとで救急車くるぞー!
104 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 00:17:19 ] >>102 覚醒者?
105 名前:デフォルトの名無しさん [2009/09/19(土) 00:20:03 ] 俺、さっき人生で初めてprogress_displayを使う可能性が出て来た。 単なるサンプルプログラムで、 結構時間のかかる処理だったから、 画面に進歩を表示させるのに使えるんじゃないかと思ってさ。 結局使わなかったけどな(笑)
106 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 04:05:27 ] お前のprogress_display童貞を奪うプログラムはどんなものになるんだろうな
107 名前:105 mailto:sage [2009/09/19(土) 21:18:44 ] 聞いてくれよ>>106 よ。 ついにboost::progress_displayを使ったよ。 案外便利だったわ。 超限定的なシチュエーションだが。
108 名前:105 mailto:sage [2009/09/19(土) 21:19:26 ] >>106 あと俺は女だ。
109 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 21:25:02 ] ああ…次はcompressed_pairだ…
110 名前:105 mailto:sage [2009/09/19(土) 21:35:19 ] うーん、compressed_pair処女はたぶん一生守り通すかも。
111 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 00:38:00 ] >>105 結婚して
112 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 03:25:08 ] progress_displayが実際に使われるなんて、このスレ始まって以来の事件じゃないか。
113 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 09:48:59 ] そして次のboostから削除されるオチとかな
114 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 10:54:22 ] >>113 断固抗議する progress_displayはboostの良心
115 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 11:23:07 ] mpl化すればいいんじゃね?
116 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 11:39:10 ] progress_display好きの俺っ子か、、 ま、新しいとは思うけど、 恥ずかしくないのかねGONZOは 色物で釣ろうとしないで、作品の中身で勝負しろよ。
117 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 11:42:01 ] 削除しなくてもいいけど、 timerディレクトリの中に入れるとかはした方が良いんじゃないかと。
118 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 11:59:29 ] >>12 のサンプルみたいなことが出来るI/Fになってるならそれなりに評価する つーか仕様知らないけど