Boost総合スレ part7
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/01/19(月) 21:22:22part 6 http://pc11.2ch.net/test/read.cgi/tech/1207749841/
part 5 http://pc11.2ch.net/test/read.cgi/tech/1192662575/
part 4 http://pc11.2ch.net/test/read.cgi/tech/1175663346/
part 3 http://pc11.2ch.net/test/read.cgi/tech/1158991211/
part 2 http://pc8.2ch.net/test/read.cgi/tech/1139313234/
part 1 http://pc8.2ch.net/test/read.cgi/tech/1091198276/
■関連サイト■
Boost C++ Libraries
http://www.boost.org/
Boost 翻訳プロジェクト
http://boost.cppll.jp/HEAD/
Let's Boost
http://www.kmonos.net/alang/boost/
boost info
http://shinh.skr.jp/boost/
0002デフォルトの名無しさん
2009/01/19(月) 21:28:03乙
0004デフォルトの名無しさん
2009/01/19(月) 21:31:40Boost C++をチューンアップする最先端ライブラリ
http://www.amazon.co.jp/exec/obidos/ASIN/4894714191/
Boost C++ Libraryプログラミング
http://www.amazon.co.jp/exec/obidos/ASIN/4798017043/
Beyond The C++ Standard Library
http://www.amazon.co.jp/exec/obidos/ASIN/0321133544/
C++ Template Metaprogramming
http://www.amazon.co.jp/exec/obidos/ASIN/0321227255/
The Boost Graph Library
http://www.amazon.co.jp/exec/obidos/ASIN/0201729148/
■関連スレ■
C++相談室 part65
http://pc11.2ch.net/test/read.cgi/tech/1230341243/
C++0x 4
http://pc11.2ch.net/test/read.cgi/tech/1214407525/
【C++】STL(Standard Template Library)相談室 11
http://pc11.2ch.net/test/read.cgi/tech/1231640024/
0005デフォルトの名無しさん
2009/01/19(月) 21:32:40http://sourceforge.net/projects/loki-lib/
JTC1/SC22/WG21 - The C++ Standards Committee
http://www.open-std.org/jtc1/sc22/wg21/
POCO, the C++ Portable Components
http://www.appinf.com/poco/info/
http://sourceforge.net/projects/poco/
The unofficial BCB Boost patches
http://bcbboost.sourceforge.net/
0006デフォルトの名無しさん
2009/01/19(月) 21:34:00>>4に
・Boost C++をチューンアップする最先端ライブラリ
を加えたのと,
・Boost C++ Libraryプログラミング
のリンクを第二版に修正しました.
0007デフォルトの名無しさん
2009/01/20(火) 01:04:16boost 1_37_0
次のコードがC2780連発です。
#include <boost/bind.hpp>
#include <boost/numeric/interval.hpp>
using namespace boost;
using namespace boost::numeric;
int main()
{
bind(&in, 3, interval<int>(2, 4));
}
何か対処法などご存知の方いらっしゃるでしょうか?
find_ifなどの条件式に使いたいのですが。
0008デフォルトの名無しさん
2009/01/20(火) 02:08:01in のテンプレート引数を指定すれば、とりあえずうまくいくと思うけどbind(&in<int, interval<int>::traits_type>, 3, interval<int>(2, 4));
もっと簡単にかけるかどうかはわからんです
0009デフォルトの名無しさん
2009/01/20(火) 16:07:04/ / パカッ
//⌒)∩__∩
/.| .| ノ ヽ
/ | | ● ● |
/ | 彡 ( _●_) ミ まピョーん☆
/ | ヽ |∪| /_
// │ ヽノ \/
" ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0010デフォルトの名無しさん
2009/01/22(木) 02:09:13コンパイラ: gcc 4.0.1
boost: 1_37_0
この環境で,filesystemをソースからビルドしてパスを通して,
g++ test.cpp -lboost_filesystem-gcc40-mt-1_37
みたいにコンパイルしようとすると,リンカがsymbol not foundとエラーをはきます.
ubuntuでは問題ないためmac特有の問題だと思うのですが,原因,対策がお分かりの方いらっしゃいませんか?
ちなみに,以下がコンパイル結果です.
g++ test.cpp -lboost_filesystem-gcc40-mt-1_37
Undefined symbols:
"boost::system::get_generic_category()", referenced from:
__static_initialization_and_destruction_0(int, int)in ccCDIN5Z.o
(長いので中略)
libboost_filesystem-gcc40-mt-1_37.a(operations.o)
__static_initialization_and_destruction_0(int, int)in libboost_filesystem-gcc40-mt-1_37.a(operations.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
001110
2009/01/22(木) 02:20:10#include <boost/filesystem.hpp>
using namespace boost;
int main(int argc, char** argv)
{
filesystem::path dir("test");
filesystem::create_directory(dir);
return 0;
}
0012デフォルトの名無しさん
2009/01/22(木) 07:21:21コンパイルできました。
ありがとう。
0013デフォルトの名無しさん
2009/01/22(木) 09:19:21-lboost_system-mt
001410
2009/01/22(木) 16:35:26無事コンパイルできました.
冷静に考えてみると,エラーを見たらboost::systemを参照してたんですね...
それにしてもなんでmacだけ挙動が違うんだろうか.
とにかくありがとうございました!!
0015デフォルトの名無しさん
2009/01/22(木) 17:21:160016デフォルトの名無しさん
2009/01/23(金) 18:33:46ttp://booster.x0.to/
0017デフォルトの名無しさん
2009/01/23(金) 21:08:29RSS配信でもしてテンプレにURL貼るとかすりゃいいのに
毎度毎度スパムのように貼るな
と言ったら荒れるのだろうか
0018デフォルトの名無しさん
2009/01/24(土) 08:17:34そうカリカリすんな。お前は本物のスパムにもマジレスするのか?
目障りだと感じたなら黙ってあぼーんするだろ?
0019デフォルトの名無しさん
2009/01/24(土) 12:04:12何が変わったのか楽しみ
0020デフォルトの名無しさん
2009/01/24(土) 15:45:150021デフォルトの名無しさん
2009/01/25(日) 11:03:310022デフォルトの名無しさん
2009/01/25(日) 23:18:011000で割るだけのことなんだけど、1000倍する人がいたりするので、
こういう仕組みを導入する必要もあるかもしれないと思って勉強してるんだが、
思ったより複雑でちょっと挫折しかけてる。
0023デフォルトの名無しさん
2009/01/26(月) 10:54:49>こういう仕組みを導入する必要もあるかもしれないと思って勉強してるんだが、
そういう仕組みを導入するより、1000倍して尚且つテストもしてみない阿呆を切るべき。
0024デフォルトの名無しさん
2009/01/26(月) 11:30:44http://www.codeproject.com/KB/cpp/fastdelegate2.aspx
0025デフォルトの名無しさん
2009/01/26(月) 18:14:43実装は面白いけれどさ。
正直言って速度差は微々たる物だなぁ。
呼び出しにかかる時間は、現実的に問題にならない。
実際のコードでは、桁が何桁も違うくらい遅い処理を、その呼び出された関数の中でするはず。
すると一千万回呼んで500〜1000msぐらいの速度差なんてどうでも良くなってしまう。
劇的に違うのはコピーにかかる時間で、
これはBoost.Functionの実装ではヒープを使っているために目に見える速度差がでるんだろうけど。
一千万回コピーして十秒足らず。
そんなにコピーする?
0026デフォルトの名無しさん
2009/01/26(月) 18:33:180027デフォルトの名無しさん
2009/01/26(月) 22:13:44激しく同意
0028デフォルトの名無しさん
2009/01/26(月) 22:15:05boost禁止だと・・・orz
0029デフォルトの名無しさん
2009/01/26(月) 22:23:060030デフォルトの名無しさん
2009/01/26(月) 23:13:36大人しくC++0xの正式リリースを待て。
0031デフォルトの名無しさん
2009/01/26(月) 23:47:250032デフォルトの名無しさん
2009/01/27(火) 00:00:44お前の書いたコードして使うってのはだめなの?
0033デフォルトの名無しさん
2009/01/27(火) 00:43:46あ,本家のコードに追随して更新していけばいいか…
0034デフォルトの名無しさん
2009/01/27(火) 08:46:32俺は自分がメンテできるとこだけ移植してるな
その過程でソースを詳しく見ることになるので
いろいろと勉強になることも多い
0035デフォルトの名無しさん
2009/01/27(火) 10:45:02別に更新し続けなければいけない理由はないだろ。
もし、自分が「更新されたboostに追加された機能」を使いたいなら必要だけど。
0036デフォルトの名無しさん
2009/01/27(火) 17:11:35std::allocatorや自作のアロケーターをテンプレートレベルで混在させたいですぅ。
0037デフォルトの名無しさん
2009/01/27(火) 17:30:300038デフォルトの名無しさん
2009/01/28(水) 13:21:570039デフォルトの名無しさん
2009/01/29(木) 00:06:48ttp://beta.boost.org/users/news/version_1_38_0
0040デフォルトの名無しさん
2009/01/29(木) 00:54:31もう自前でscope_guard書く必要がなくなるんだろうか
0041デフォルトの名無しさん
2009/01/29(木) 12:04:22を文章の中で言うときは
boost.hoge
って書くことになってるの?
0042デフォルトの名無しさん
2009/01/29(木) 12:43:31いいえ
0043デフォルトの名無しさん
2009/01/30(金) 21:52:32ttp://booster.x0.to/
迷惑という意見が多い様でしたらサイトを閉じます。
0044デフォルトの名無しさん
2009/01/30(金) 22:16:05稀によく落とすからなくなると寂しい。
とは言え更新箇所わからないし最新版欲しかったら自分からチェック入れるからな。
0045デフォルトの名無しさん
2009/01/31(土) 01:29:45気にせず続けてくれ
0046デフォルトの名無しさん
2009/01/31(土) 02:04:040047デフォルトの名無しさん
2009/01/31(土) 07:21:27>>43
のサイトまじで消えてる!!
0048デフォルトの名無しさん
2009/01/31(土) 09:18:590049デフォルトの名無しさん
2009/01/31(土) 10:40:19あるよ。リロードしてごらん
boostの発展のためには、ライブラリを簡単に使えるよに支援してくれるサイトの存在は良いことだと思うよ。
0050デフォルトの名無しさん
2009/01/31(土) 22:45:180051デフォルトの名無しさん
2009/02/01(日) 20:12:06サイトを閉じることで更新の報告がなくなるのなら、ぜひお願いします。
0052デフォルトの名無しさん
2009/02/01(日) 20:37:300053デフォルトの名無しさん
2009/02/01(日) 20:48:11>>51は個人的に恨みでもあるのか
0054デフォルトの名無しさん
2009/02/01(日) 21:28:51むしろお前がなくなればいい
0055デフォルトの名無しさん
2009/02/01(日) 22:21:230056デフォルトの名無しさん
2009/02/01(日) 22:46:27書き込み時に添える様に致します。
0057デフォルトの名無しさん
2009/02/02(月) 13:48:030058デフォルトの名無しさん
2009/02/02(月) 17:32:05コメントつけたことはなかった
0059デフォルトの名無しさん
2009/02/03(火) 10:03:030060デフォルトの名無しさん
2009/02/03(火) 10:34:250061デフォルトの名無しさん
2009/02/03(火) 13:46:370x拡張分の6割だか7割だかはboost発祥だそうだし、
0xとの重複分を廃止した上で新たなクラスを追加構築していくのかな?
0062デフォルトの名無しさん
2009/02/03(火) 16:54:35今だってTR1が出た後にunorderedとかhashとか追加しているくらいだ。
0063デフォルトの名無しさん
2009/02/03(火) 17:50:530xの普及が遅いとboost版から抜けられなくなるかも
0064デフォルトの名無しさん
2009/02/03(火) 18:08:470065デフォルトの名無しさん
2009/02/03(火) 18:32:57ヘッダーが読み込まれていれば頭で何らかのシンボル定義してるだろうから、それで確認?
0066デフォルトの名無しさん
2009/02/03(火) 18:37:09ありがとうございます。やってみます。
0067デフォルトの名無しさん
2009/02/03(火) 21:07:35boost 使えない時にエラーになっちゃうし。
普通そーいうのは configure とかでやる。
0068デフォルトの名無しさん
2009/02/06(金) 11:40:39ショック
0069デフォルトの名無しさん
2009/02/06(金) 12:29:260070デフォルトの名無しさん
2009/02/06(金) 17:22:40boost::wregex
boost::u32regex
好きなほう使え
mingwでicuのstatic作るのにmakefileかなり修正させられた。
0071デフォルトの名無しさん
2009/02/06(金) 18:23:490072デフォルトの名無しさん
2009/02/06(金) 19:53:360073デフォルトの名無しさん
2009/02/07(土) 04:48:31ttp://booster.x0.to/
今回から、前回のビルドからの変更点を記載したchangelog.txtを同梱する様に致しました。
以下その一部
Fix bug in bessel_jn for n == -1.
Add new test case.
Modified : /trunk/boost/math/special_functions/detail/bessel_jn.hpp
Modified : /trunk/libs/math/test/test_bessel_j.cpp
Added missing config.hpp include for the wide characters support configuration macro.
Modified : /trunk/libs/date_time/test/testfrmwk.hpp
Changed to two_bit_color_map by default
Modified : /trunk/boost/graph/dijkstra_shortest_paths.hpp
Default color map to white, and fixed some warnings
Modified : /trunk/boost/graph/two_bit_color_map.hpp
Add missing #include <iostream>.
Modified : /trunk/libs/asio/example/buffers/reference_counted.cpp
Modified : /trunk/libs/asio/example/chat/posix_chat_client.cpp
Modified : /trunk/libs/asio/example/nonblocking/third_party_lib.cpp
Make validation a static member function. Fixes #2673
Modified : /trunk/boost/random/inversive_congruential.hpp
Modified : /trunk/boost/random/linear_feedback_shift.hpp
added missing std::
Modified : /trunk/boost/flyweight/intermodule_holder.hpp
Use a pipe if eventfd is not supported at runtime. Fixes #2683.
Modified : /trunk/boost/asio/detail/eventfd_select_interrupter.hpp
Ensure arguments to windows::overlapped_ptr::complete() are passed through to
the completion handler. Fixes #2614.
Modified : /trunk/boost/asio/detail/win_iocp_overlapped_ptr.hpp
fix wrong include
Modified : /trunk/boost/fusion/include/remove.hpp
0074デフォルトの名無しさん
2009/02/07(土) 05:47:16長い条件以外では大体そんな感じだと思ってる
ttp://www.boost.org/doc/libs/1_37_0/doc/html/xpressive/appendices.html
0075デフォルトの名無しさん
2009/02/07(土) 11:13:26毎回そのまま張るとまた論議を呼びそうな気が。
張るんなら↓みたいにまとめた方が見やすいんじゃないだろうか。機械的処理も可能だし。
各ファイルの Added とかは要らないのでは、と思って抜いてみたんだけど Graph とかは厳しいな。
[Math]
- Fix bug in bessel_jn for n == -1.
- Add new test case.
[DateTime]
- Added missing config.hpp include for the wide characters support configuration macro.
[Graph]
- Changed to two_bit_color_map by default
- Default color map to white, and fixed some warnings
[Asio]
- Add missing #include <iostream>.
- Use a pipe if eventfd is not supported at runtime. Fixes #2683.
- Ensure arguments to windows::overlapped_ptr::complete() are passed through to the completion handler. Fixes #2614.
[Random]
- Make validation a static member function. Fixes #2673
[Flyweight]
- added missing std::
[Fusion]
- fix wrong include
0076デフォルトの名無しさん
2009/02/07(土) 11:26:230077デフォルトの名無しさん
2009/02/07(土) 15:03:26thx
たいていの場合で2倍以上速いんですね
0078デフォルトの名無しさん
2009/02/08(日) 00:18:47すべてクラスの変数にするとかしかないのかな。
いっぱい関数有るんでめんどくさいわ・・・
007978
2009/02/08(日) 00:36:08とりあえずstatic変数にすることにしました。
0080デフォルトの名無しさん
2009/02/09(月) 19:50:240081デフォルトの名無しさん
2009/02/09(月) 22:14:02//型名など一部省略してます
spirit::rule intp, expp;
intp = leaf_node_d[int_p];
expp = int_p >> *(root_node_d[ch_p(L'+')] >> int_p);
上記のようなルールで、スキップパーサにblank_pを指定して
1 + 2
を構文解析させたとき、スキップ指定しているにもかかわらず、
2つ目の値のツリーの結果に、+から2までの間のスペースが' ''2'といった
感じに含まれてしまうのですが、leaf_node_dはそういう仕様なんでしょうか?
(1つ目の値はスペースは含まれていない)
リーフノードにスペースを含まないようにするには、スキップパーサを指定してても
intp = no_node_d[*blank_p] >> leaf_node_d[int_p];
の様に、ルール側でもスペースを飛ばすしか方法がないのでしょうか?
008281
2009/02/09(月) 22:51:59expp = intp >> *(root_node_d[ch_p(L'+')] >> intp);
0083デフォルトの名無しさん
2009/02/13(金) 18:41:55ttp://booster.x0.to/
以下更新内容の一部
[Units]
Zeroing in on bug with sun < 5.9
Begin tracing xlc failure
[Graph]
Integrating SOC 2007 code
Importing all_cliques, all_cycles algorithms
Importing geodesic distance module from SOC.
Imported clustering coefficient, eccentricity and core numbers algorithms.
[Regex]
Fixes #2713: change table initialisation so that it's initialised statically.
Workarounds to allow compilation by Sun studio without the -library=stlport4 option.
[Random]
correctly detect the end of the range in lagged_fibonacci_01::seed. Fixes #2703
Split random_test.cpp into multiple files to avoid hitting resource limits.
Correct stringizing
[Spirit]
Bug fix to iterator
亦、2月8日付で1.38の正式版もリリースされました。
ttp://www.boost.org/users/news/version_1_38_0
>>75
有難うございます、改善致しました。
0084デフォルトの名無しさん
2009/02/13(金) 18:54:59を利用してる奴どれくらいいるの?
手あげて
0085デフォルトの名無しさん
2009/02/13(金) 19:11:380086デフォルトの名無しさん
2009/02/13(金) 19:13:190087デフォルトの名無しさん
2009/02/13(金) 19:35:58前スレから延々つきまとってるだろお前。
0088デフォルトの名無しさん
2009/02/13(金) 23:41:16他所のastのサンプルでほぼ同じようなコード書かれてるけど、
スキップ文字が入るなんて説明ないし自分のミスっぽい気はするんですが。
0089デフォルトの名無しさん
2009/02/14(土) 10:26:380090デフォルトの名無しさん
2009/02/14(土) 10:40:560091デフォルトの名無しさん
2009/02/14(土) 11:23:14> >>81の質問はスルーですか?
お前が答えてやれよ。
0092デフォルトの名無しさん
2009/02/14(土) 12:57:25blank_p ではなく space_p
http://tamachan.club.kyutech.ac.jp/~gridbug/spirit/spirit01.html
0093デフォルトの名無しさん
2009/02/14(土) 13:02:52やっぱ、違うっぽいorz
0094デフォルトの名無しさん
2009/02/14(土) 15:14:53intpいらない。int_pは元々単一ノードとして解析される。
expp = int_p >> *(root_node_d[ch_p(L'+')] >> int_p);
多分、leaf_node_dがint_pの前にスキップされた空白をノードに取り込んでるんだろう。
0095デフォルトの名無しさん
2009/02/14(土) 16:04:06int_pのみだと空白スキップされることはまでは試して
気がついてたのですが、int以外の自作トークンが使いたいときに
どうすれば良いのかで悩んでます。
やはりno_node_dで空白飛ばすのが正答なんでしょうかね。
0096デフォルトの名無しさん
2009/02/14(土) 17:43:19バグかも知れんね。
spirit/tree/common.hppの907行あたりを書き換えたら予想通りの結果になったよ。
if (hit) {
std::advance(from, std::distance(from, scanner.first) - hit.length());
return result_t(hit.length(),
factory_t::create_node(from, scanner.first, true));
}
0097統合しました。。。:
2009/02/14(土) 18:08:11真・スレッドリスターター。。。( ̄ー ̄)ニヤリッ
0098デフォルトの名無しさん
2009/02/14(土) 18:08:15なるほど、そうでしたか。
チュートリアルなどでもこの不具合の発生するコードがあるのに
今まで誰も問題にしなかったみたいだし、割と最近の修正で
混入したバグなんでしょうね。
わざわざ調べていただいて、ありがとうございました。
0100デフォルトの名無しさん
2009/02/15(日) 04:17:450101デフォルトの名無しさん
2009/02/16(月) 13:09:53■ このスレッドは過去ログ倉庫に格納されています