1 名前:デフォルトの名無しさん [2010/05/28(金) 11:49:47 ] 過去スレ Part 8 pc12.2ch.net/test/read.cgi/tech/1251446016/ 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/
2 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 11:51:08 ] ■関連書籍■ Boost C++をチューンアップする最先端ライブラリ www.amazon.co.jp/exec/obidos/ASIN/4894714191/ Boost C++ Libraryプログラミング www.amazon.co.jp/exec/obidos/ASIN/4798017043/ Beyond The C++ Standard Library www.amazon.co.jp/exec/obidos/ASIN/0321133544/ C++ Template Metaprogramming www.amazon.co.jp/exec/obidos/ASIN/0321227255/ The Boost Graph Library www.amazon.co.jp/exec/obidos/ASIN/0201729148/ ■関連スレ■ C++相談室 part81 pc12.2ch.net/test/read.cgi/tech/1273407971/ C++0x 9 pc12.2ch.net/test/read.cgi/tech/1269623636/
3 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 11:51:54 ] Boost Sandbox https://svn.boost.org/trac/boost/wiki/BoostSandbox Boost Vault www.boostpro.com/vault/ Loki sourceforge.net/projects/loki-lib/ JTC1/SC22/WG21 - The C++ Standards Committee www.open-std.org/jtc1/sc22/wg21/ POCO, the C++ Portable Components www.appinf.com/poco/info/ sourceforge.net/projects/poco/ The unofficial BCB Boost patches bcbboost.sourceforge.net/
4 名前:デフォルトの名無しさん [2010/05/28(金) 21:38:34 ] boost.fiber をビルドしたのですが、以下のエラーがでてビルドできません。 解決策を教えて下さい。 C:/lib/boost/boost_1_42_0/libs/fiber/build\pyutils.jam:2: in load rule PYTHON_IMPORT_RULE unknown in module pyutils. C:/lib/boost/boost_1_42_0/tools/build/v2/kernel\modules.jam:283: in modules.impo rt C:/lib/boost/boost_1_42_0/tools/build/v2/build\project.jam:903: in import libs\fiber\build\Jamfile.v2:14: in modules.load C:/lib/boost/boost_1_42_0/tools/build/v2/build\project.jam:313: in load-jamfile C:/lib/boost/boost_1_42_0/tools/build/v2/build\project.jam:62: in project.load C:/lib/boost/boost_1_42_0/tools/build/v2/build\project.jam:763: in project.use C:/lib/boost/boost_1_42_0/tools/build/v2/build\project.jam:89: in load-used-proj ects C:/lib/boost/boost_1_42_0/tools/build/v2/build\project.jam:73: in load C:/lib/boost/boost_1_42_0/tools/build/v2/build\project.jam:168: in project.find C:/lib/boost/boost_1_42_0/tools/build/v2\build-system.jam:553: in load C:\lib\boost\boost_1_42_0\tools\build\v2/kernel\modules.jam:283: in import C:\lib\boost\boost_1_42_0\tools\build\v2\kernel\bootstrap.jam:142: in boost-buil d C:\lib\boost\boost_1_42_0\boost-build.jam:17: in module scope
5 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 22:02:12 ] ublas::vectorには==演算子が定義されていないのでしょうか?
6 名前:4 [2010/05/30(日) 10:57:08 ] >>4 fiber\build\Jamfile.v2の 14行目の import pyutils ; を消す。 29行目の [ pyutils.linkage ] を "WindowsPE" に変更。 53行目の [ pyutils.architecture ] を "i386" に変更。 (pyutils.py の実行結果を直で書いた・・・) で解決しました。
7 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 11:27:35 ] #include <boost/iostreams/stream.hpp> #include <boost/iostreams/device/array.hpp> #include <iostream> namespace io = boost::iostreams; char buf[] = {1, 2, 3, 4, 5}; #if 0 // (A) io::array_source src(buf); io::stream_buffer<io::array_source> sb(src); #else // (B) io::stream_buffer<io::array_source> sb(io::array_source(buf)); #endif std::istream s(&sb); (B)の場合はコンパイルが通るのですが、(A)の場合だと > C2664: 'std::basic_istream<_Elem,_Traits>::basic_istream(std::basic_streambuf<_Elem,_Traits> *,bool)' : 1 番目の引数を > 'boost::iostreams::stream_buffer<T> (__cdecl *)(boost::iostreams::array_source)' から 'std::basic_streambuf<_Elem,_Traits> *' に変換できません。 となりますが、理由がわかりません。 array_sourceを直接渡すか変数を介すかで、何故違いが出るのでしょうか? VC++2010 EE + boost 1.43.0
8 名前:7 mailto:sage [2010/05/31(月) 11:47:01 ] いろいろ試してみたところ > io::stream_buffer<io::array_source> sb(io::array_source(buf)); が関数プロトタイプと解釈されている事が原因のようです。 これは言語的に正しい解釈なのでしょうか?
9 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 20:37:37 ] >>8 Yes. Effective STL に載ってる有名な落とし穴。
10 名前:7 mailto:sage [2010/06/02(水) 11:10:46 ] >>9 io::stream_buffer<io::array_source> sb(io::array_source buf); という風に解釈されるんですね。 遅くなりましたがありがとうございました。
11 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 15:35:41 ] すみません質問です。 VisualStudioの2008と2010が入っている環境でboostをビルドしたところ、msvcのバージョン指定しない場合は「〜vc100〜.lib」等が作成されました VS2010でサンプルアプリケーションを作って実行したところ正常動作を確認したのですが、欲しかったのはVS2008用のため、msvcのバージョンを指定してビルドしたのですが、 「〜vc〜.lib」というファイルが出来あがり、VS2008でサンプルアプリケーションを作って実行したところ「〜vc90〜.lib」が見つからずエラーとなりました 古いバージョンのビルドでバージョン表記を付けてビルドするにはどうすればいいんでしょうか。 参考にしたURLこちらで、バージョン指定のビルド時は「--toolset=msvc-9_0」を指定しました www.kmonos.net/alang/boost/build.html
12 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 16:55:39 ] toolset=msvc-9.0
13 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 17:33:04 ] うおおおできたぁあああああああ!!! 有難うございます助かりましたm(_ _)m
14 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 01:50:23 ] bjam toolset=msvc-8.0 variant=debug,release link=static threading=multi runtime-link=static stage bjam toolset=msvc-9.0 variant=debug,release link=static threading=multi runtime-link=static stage bjam toolset=msvc-10.0 variant=debug,release link=static threading=multi runtime-link=static stage ウチはこれで容量節約
15 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 03:06:45 ] 質問お願いします。 ublasで A=[B~t C^t]~t A,B,Cはベクトル Y 0 0 X=[0 Z 0 ] X,Y,Z,Wは行列 0 0 W この時のB,CやY,Z,Wが存在していてそれを元に AやXを作成したいのですが良い方法はありますでしょうか?s
16 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 03:08:19 ] A=[B^t C^t]^t ですね。すみませんでした。
17 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 03:49:15 ] ベクトルA,B,C と行列Xになんの関係もないじゃん。
18 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 07:26:59 ] そうですね。A,B,CとX,Y,Z,Wの間には関係がないです。 B,CをもとにA、Y,Z,WをもとにZをそれぞれ定義したいという感じです。
19 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 19:48:55 ] >>15 ublas使うなら ttp://d.hatena.ne.jp/blono/archiveを1から読むといいよ 15が聞きたいことも頻繁にやってる(projectとかsliceとか)
20 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 01:06:06 ] 15です。 そのサイトは非常に参考にさせて貰ってます。 たぶんですけどsliceからのswapでいけるのかなぁ〜と考えてます。 ともかく色々試してみます。質問に答えてくれてありがとう。
21 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 21:45:16 ] ビルドしたライブラリ(.lib)の名前の後ろにつく文字列に、mtとmt-sという 2種類のものがあるのですが、どのような違いがあるのでしょうか? mtというのは、VC++のランタイムライブラリ設定で"マルチスレッド"を 選んだからだと思うのですが、sという文字列の意味がわかりませんでした。 初歩的な質問かもしれないですが、教えてもらえるとうれしいです
22 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 21:46:38 ] static
23 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 22:40:53 ] www.boost.org/doc/libs/1_43_0/more/getting_started/windows.html#library-naming
24 名前:デフォルトの名無しさん mailto:sage [2010/06/17(木) 00:54:23 ] >>21 VC++のランタイムライブラリ設定でいうなら マルチスレッド libboost_…-mt-s マルチスレッド デバッグ libboost_…-mt-sgd マルチスレッド DLL libboost_…-mt マルチスレッド デバッグ DLL libboost_…-mt-gd ただし、このDLLというのはCランタイムのDLLのことなので BOOST C++ ライブラリをDLLで使いたい人のために boost_で始まるlib/dllも出力されるので bjam toolset=msvc-10.0 --build-type=complete stage すると5.8GBにもなるという
25 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 20:29:21 ] weak_ptrってshared_ptrが無効かどうか知る場合に使えばいいですか?
26 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 20:31:26 ] >>25 マルチすんな
27 名前:デフォルトの名無しさん [2010/06/21(月) 21:29:27 ] 何が悪いんだよ おまえ goto 有害説にしか見えないぜ
28 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 08:39:32 ] >>25 いいえ
29 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 10:58:33 ] >>26 ごめんなさい・・・ スルーされたもんで
30 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 15:50:16 ] >>29 そんな言い訳が通用したらマルチは存在しない。 常識で考えればちゃんと取り下げてから来いよ。
31 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 21:52:41 ] >>25 できるけど、普通shared_ptrはコンストラクタで初期化するのだし そういうコードが必要になるような設計に問題があると思う if (p != NULL) {...} がバグの温床だからやめようというのと同じで if (p.use_count()) {...} ってのも関心しない 検索してもなかなか出てこないのには好ましくないから 人に見せるような綺麗なプログラムにはあまり出てこないという背景がある
32 名前:デフォルトの名無しさん mailto:sage [2010/06/23(水) 18:26:38 ] p.use_count() はともかく if (shared_ptr<Hoge> p = wp.lock()) { ... } あたりはかなり典型的かつ有用な idiom のような?
33 名前:デフォルトの名無しさん mailto:sage [2010/06/23(水) 20:36:20 ] ブーリアンコンテキストでチェックするのは普通でしょ そのためにsafe boolが定義されてるんだから use_count()はデバッグやテストのためであって 製品版では使うなとドキュメントに書いてあったはず
34 名前:デフォルトの名無しさん [2010/07/02(金) 17:48:50 ] へえ
35 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 10:17:00 ] ublasって 純粋なCと速度はあんまり変わりないの? 他のboostもコンパイルに時間かかるだけで実行時間は純粋なCとあまり変わりないの?
36 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 10:36:39 ] 純粋なCってなんだよ この世には不純なCがあるのか?
37 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 11:30:27 ] 全てはアセンブリ言語に変換・・・アセンブルされ、リンクし、バイナリは天に召される。 動けわがプログラムよ!
38 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 11:53:17 ] 天に召されたらうごかないんじゃね
39 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:04:32 ] 天はCPUなり
40 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:13:58 ] 三途のバスを越え、閻魔CPUの裁きが下るそのとき、 あなたの運命は定まるでしょう。
41 名前:デフォルトの名無しさん [2010/07/09(金) 10:47:13 ] boost::regex hosii("hoge ?\(");//boost::reg_expression<char> regex = 正規表現;にするとできない。 boost::match_results<const char*> results;//←もうこの辺から::を押しても出てこない boost::regex_search(data, results,hoge); fputs(results.str(0), wfp);←ここでエラー boostが全然できません error C2664: 'fputs' : 1 番目の引数を 'std::basic_string<_Elem,_Traits,_Ax>' から 'const char *' に変換できません。(新しい機能 ; ヘルプを参照) 1> with 1> [ _Elem=char, 1> _Traits=std::char_traits<char>, 1> _Ax=std::allocator<char> 1> ] 1> この変換を実行可能なユーザー定義変換演算子がないか、または演算子を呼び出せません。 キャストする ↓ error C2440: '<function-style-cast>' : 'std::basic_string<_Elem,_Traits,_Ax>' から 'char' に変換できません。 1> with 1> [ _Elem=char, 1> _Traits=std::char_traits<char>, 1> _Ax=std::allocator<char> 1> ] 1> この変換を実行可能なユーザー定義変換演算子がないか、または演算子を呼び出せません。 助けてください 簡単にC++で正規表現できるんじゃないんですか?VC++2008EE notCLI 正規表現で文字列取得して配列に入れたいだけです。どうすれば良いのでしょうか?
42 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 11:05:23 ] エスケープシーケンス std::string::c_str() まずC++の基礎を何とかしてください。
43 名前:デフォルトの名無しさん [2010/07/09(金) 11:21:56 ] ありがとうございます。一応コンパイル通りました results.str(0).c_str() こんなのがあるなんて全然知りませんでした。
44 名前:デフォルトの名無しさん [2010/07/09(金) 14:00:41 ] 詰みました boost::regex hosii(" *hoge *\(");←ここで止まります。ハンドルされていない例外ですと boost::match_results<const char*> result; boost::regex_search(data, results,hosii); fputs(results.str(0).c_str(), wfp); 何が間違ってるのでしょうか? エスケープシーケンスが正しくないかもしれませんみたいな警告が出てましたが何か間違ってますか?
45 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 14:08:24 ] \→\\
46 名前:デフォルトの名無しさん [2010/07/09(金) 14:14:35 ] >>45 ありがとうございました 一見\で\が文字化されそうですね
47 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 14:54:13 ] 簡単さならxpressiveがヘッダファイルだけで済んで手軽 Static版の文法覚えちゃえば処理速度も期待できる ただしコンパイル時間は延びる
48 名前:Regex mailto:sage [2010/07/10(土) 01:03:17 ] ぼくもほめて(´;ω;`)
49 名前:progress_display mailto:sage [2010/07/10(土) 05:24:22 ] まだまだ未熟だな。
50 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 08:51:21 ] ublasは中身替えられるから ATLASなどを使えばSIMD対応で速いと聞く ただATLASのコンパイルという壁が・・
51 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 09:17:03 ] regexはユーザーが入力した正規表現をそのまま渡しても平気かな?セキュリティーホールになったりしない?
52 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 10:30:03 ] Xpressive VC2008だと山のように警告が出る
53 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 12:17:27 ] そうか?型の整合性さえ取れれば何も言われないけどな 山のようにって言っても一部の警告がテンプレートの展開で連鎖してるんだろ
54 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 23:54:14 ] Boost.Xpressiveサイコー でも標準入りを果たしたStd.Regexの汎用性には負ける。
55 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 00:09:26 ] RegexってインタプリタパターンとかDSLになるん?
56 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 20:18:20 ] Regexはインタープリタ XpressiveはTMP、インタープリタ、両対応。
57 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:54:07 ] >>55 > インタプリタパターン > DSL って何?パターン? よく知らないんだけど、正規表現の業界用語?
58 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:01:35 ] >>57 デザインパターン
59 名前:57 mailto:sage [2010/07/11(日) 23:49:52 ] >>58 Gang of Fourのdesign patternのこと? インタプリタパターンなんてあった記憶が無いんだけど。 …あったし!!ごめん! Interpreter パターン - Wikipedia ttp://ja.wikipedia.org/wiki/Interpreter_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
60 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 08:01:49 ] > DSL Domain Specific Language 分野特化言語
61 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 10:30:16 ] >>60 ありがとう。
62 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:46:25 ] Interpreter パターンとか Visitor と Composite 組み合わせて ParseContext 作っただけにしか見えないわ
63 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 20:33:35 ] 実装詳細を見てわかった気になるヤツって多いよね
64 名前:デフォルトの名無しさん [2010/07/17(土) 01:11:16 ] mac osx 10.6 xcode 環境で boost のインクルードパスをシステムインクルードの検索パスに追加してビルドすると、 /Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/c++locale.h:80:0 /Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/c++locale.h:80: error: 'vsnprintf' is not a member of 'std' などと言われて、コンパイルできません。 osx内のSDKのヘッダとboost のそれが競合してる見たい何だけど、どうやれば解決できませすか。
65 名前:デフォルトの名無しさん [2010/07/17(土) 01:29:37 ] 誰か>>64 の解決策教えてよ。友達いないんだ。さみしいの。
66 名前:デフォルトの名無しさん mailto:sage [2010/07/17(土) 06:20:17 ] lists.apple.com/archives/carbon-dev/2006/Aug/msg00400.html これか、違うか?
67 名前:デフォルトの名無しさん mailto:sage [2010/07/17(土) 23:47:39 ] それっす。有り難う。
68 名前:デフォルトの名無しさん mailto:sage [2010/07/20(火) 11:55:02 ] OSXと関係ないが、VC++は<c**>でincludeしてもstdにならないんだよな確か
69 名前:デフォルトの名無しさん mailto:sage [2010/07/20(火) 15:14:39 ] >>68 標準関数はstdに入ってるよ 同時にグローバル名前空間にもぶちまかれるが
70 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 11:56:17 ] www.atmarkit.co.jp/news/200909/07/lltv02.html boostより抽象度は高そうなんだが
71 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 13:21:34 ] >言語と戯れよう プログラミング自体が目的になってる方は死んで下さい
72 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 14:37:08 ] VC++2010だと、BOOST_SCOPE_EXITとかBOOST_FOREACH使うとクラスビューの 関数解析結果がおかしくなるんだが・・・
73 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 15:22:58 ] >>71 MPLの変な文法おぼえるよりlisp覚えたほうが得 どうせ生成されるCは同じなんだし 多分、動く奴はこれ homepage.mac.com/naoki.koguro/prog/dyncomp/index-j.html
74 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 15:27:56 ] どこの馬の骨ともしれぬジャップがでっち上げた俺ライブラリなぞ論外
75 名前:デフォルトの名無しさん [2010/07/22(木) 16:54:25 ] そういわずに育ててやれよ
76 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 17:47:33 ] これってジェネレーラーはLispでかかれてるんかいな? 落としてみたけどS式書いてあるファイルがみつからんよ??
77 名前:デフォルトの名無しさん mailto:sage [2010/07/23(金) 02:56:10 ] 本当の本体はGaucheのソースの中らしい
78 名前:デフォルトの名無しさん mailto:sage [2010/07/23(金) 16:27:02 ] Gaucheのソースを解凍 lib/cgen の下
79 名前:デフォルトの名無しさん mailto:sage [2010/07/23(金) 16:28:51 ] なるほど、サンキュ!
80 名前:デフォルトの名無しさん mailto:sage [2010/07/23(金) 16:37:18 ] Gaucheソース ext/uvector のMakefile に使用例
81 名前:デフォルトの名無しさん mailto:sage [2010/07/24(土) 12:02:15 ] alohakun.blog7.fc2.com/blog-entry-586.html lispから読めるCを生成する別な方法
82 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 04:40:34 ] boost-buildと、boost-jamの関係を教えてください。
83 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 23:37:31 ] 恋人
84 名前:デフォルトの名無しさん mailto:sage [2010/08/06(金) 05:29:27 ] 英語のドキュメント読んでましたが、よく分かりませんでした。 まじめにお願いします。
85 名前:デフォルトの名無しさん mailto:sage [2010/08/07(土) 21:52:40 ] lover
86 名前:デフォルトの名無しさん mailto:sage [2010/08/07(土) 23:06:13 ] boostjamはインタプリタ
87 名前:デフォルトの名無しさん mailto:sage [2010/08/08(日) 23:56:10 ] gauche.cgen.cise のコード読んでるんだが、これあったらboostいらないかもしれない
88 名前:デフォルトの名無しさん mailto:sage [2010/08/11(水) 06:35:05 ] comp.lang.lispに書いてること信じるなら thinlispの方がgauche.cgen.ciseよりすごいかもしれない makefile *.hまで生成するっぽい
89 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 21:17:55 ] a
90 名前:デフォルトの名無しさん mailto:sage [2010/08/16(月) 20:26:00 ] >>70 の使い方をまとめた CiSE simple example d.hatena.ne.jp/niitsuma/20081113/1281521109
91 名前:デフォルトの名無しさん [2010/08/17(火) 03:24:37 ] 1.44 Boost C++ Libraries www.boost.org/
92 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 09:18:48 ] >>90 これデバッグはしやすい?
93 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 10:19:11 ] >>90 別にスレ建てたほうが注目してもらえるよ。 「S式でCを書くCiSEスレ」とかにすれば関数型ファンがすぐ集まるよ
94 名前:● mailto:sage [2010/08/17(火) 11:20:40 ] 適当なテンプレがあるなら、自分がスレ立てるけど
95 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 12:54:13 ] なんでCでこういうのむりやりやろうとするのか疑問だわ。 言語機能に組み込んで新言語つくりゃいいのに。
96 名前:デフォルトの名無しさん [2010/08/17(火) 13:01:41 ] >>95 言語機能で提供すべきことと 言語自身を使って作るものの 単純明快な判断基準がウケたのがC 新基準を開拓に行くと出かけて帰りが遅いのがC++
97 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 13:16:18 ] lambdaが言語に組み込まれて良かったわ ずっとboost.lambda使えっていわれたらどうしようかと思った
98 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 13:25:20 ] >>92 そのための #line
99 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 14:44:32 ] >>95 lispの便利さを知ってしまうと他を使いたくなくなる (コマンドラインgcc からVisualStudioに移ったぐらいの便利さがある) しかし他から「成果はCかC++で納めてくれ」と言われることは多いらしく cise とかthinlispとかこの手の試みがいろいろされてきたようだ
100 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 15:35:02 ] まあC++も最初はCのトランスレータだったし
101 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 15:50:02 ] lispそんなにいいとも思わんしいらんわ
102 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 18:11:44 ] 誰かboostの構文生成するようなdefine-stm を作って公開しないか
103 名前:デフォルトの名無しさん [2010/08/26(木) 16:40:58 ] 質問です。 boost::tokenizer< escaped_list_separator_sjis > tok( csvLine ); for(boost::tokenizer<escaped_list_separator_sjis >::iterator p=tok.begin(); p!=tok.end();++p){ cout << *p + " ";//"\n"; これを実行するとすべてが1行にコマンドプロンプトに表示されます。 これをCSVファイルの並びと同じように行ごとに表示させたいですが どうしたらよいでしょうか?良い解決策がありましたらお願いします。 <例> a,e,d q,d,r r,u,t これを実行すると a e d q d r r u tのようになります。 これを a e d q d r r u t のようにしたいです。
104 名前:デフォルトの名無しさん mailto:sage [2010/08/26(木) 17:31:03 ] csvLineに1行ずついれてるなら for( 〜 ) {
105 名前:デフォルトの名無しさん mailto:sage [2010/08/26(木) 17:33:26 ] 間違えて送信した for( 〜 ) { cout << *p + " "; } cout << endl; とでもすればいい そういう問題じゃないのか?
106 名前:デフォルトの名無しさん [2010/08/30(月) 14:01:04 ] boost::tokenizer< escaped_list_separator_sjis > tok( csvLine ); for(boost::tokenizer<escaped_list_separator_sjis >::iterator p=tok.begin(); p!=tok.end();++p){ cout << *p + "\t"; } cout << endl; これを出力すると a e d q d r r u t なりました。ありがとうございます。 これをタブ区切りでtsvファイルに出力したいのですがどうすればよいでしょうか?
107 名前:デフォルトの名無しさん mailto:sage [2010/08/30(月) 14:05:26 ] >>106 Boostの埒外なので勝手にどうぞ。
108 名前:デフォルトの名無しさん [2010/08/30(月) 14:09:41 ] tsvってなに?
109 名前:デフォルトの名無しさん mailto:sage [2010/08/30(月) 14:21:29 ] >>108 TabSeparatedValueフォーマットの略。
110 名前:デフォルトの名無しさん [2010/08/30(月) 14:34:04 ] 106に書き込んだものです。C++で質問したいと思います。 申し訳ありませんでした。
111 名前:デフォルトの名無しさん [2010/08/30(月) 15:03:41 ] >>108 トンクス、tab区切りなのか・・・。
112 名前:デフォルトの名無しさん mailto:sage [2010/09/01(水) 12:12:26 ] Boost.Polygonきたー
113 名前:デフォルトの名無しさん mailto:sage [2010/09/01(水) 16:41:37 ] Boost.Polygonって何に使うのか全然わからね。
114 名前:デフォルトの名無しさん mailto:sage [2010/09/03(金) 22:32:03 ] boost::regex re("(\\d+)(?:,(\\d+))*"); boost::smatch result; std::string str = "1,2,3,4"; if (boost::regex_match(str, result, re)) { for (int i=0; i<result.size(); i++) printf("%d: %s\n", i, result.str(i).c_str()); } このようなコードを実行すると1と4しかresultから取り出せないんですが、 1から4まで全て取り出すにはどうしたらいいですか? 実際はもっと複雑なフォーマットなので正規表現でなんとかしたいです。
115 名前:デフォルトの名無しさん mailto:sage [2010/09/03(金) 23:00:26 ] ((\d+)(?:,|))* ただのカンマ区切りならboost::tokenizerじゃだめなの?
116 名前:デフォルトの名無しさん mailto:sage [2010/09/04(土) 20:16:45 ] 1.44ってVC10とかのmove semanticsに対応してる?
117 名前:デフォルトの名無しさん mailto:sage [2010/09/06(月) 10:13:54 ] CSVはきっちりやるなら一文字ずつチェックしていくしかないだろ。 ダブルクォートの処理とかマジめんどい
118 名前:デフォルトの名無しさん mailto:sage [2010/09/06(月) 23:34:29 ] Boost.Polygon早速仕事で使ってみてる。 なかなかいい感じ。 でもまだ機能が少ないな。 他の表現法からの取り込み対応も必要だ。
119 名前:デフォルトの名無しさん [2010/09/07(火) 14:20:33 ] 多角形の頂点管理でもしてくれるライブラリかい?
120 名前:デフォルトの名無しさん mailto:sage [2010/09/07(火) 14:44:58 ] >>119 点とか矩形みたいな基本図形もある
121 名前:デフォルトの名無しさん mailto:sage [2010/09/07(火) 14:55:09 ] 3次元のポリゴン・メッシュを管理してくれるのなら使い道もあるのだが。
122 名前:デフォルトの名無しさん mailto:sage [2010/09/09(木) 22:50:01 ] boost.interprocessってメモリアライメントを考慮してくれるんだろうか? 例えば、Win上で64bitアプリとWOW64で動いてる32bitアプリ間で 相互通信する場合はやっぱboost.mpiじゃないと駄目?
123 名前:デフォルトの名無しさん mailto:sage [2010/09/12(日) 19:09:03 ] >>114 >>117 そこはほら、Boost.Spiritで
124 名前:デフォルトの名無しさん mailto:sage [2010/09/12(日) 22:15:08 ] >>123 いまいち使い方わかってないんだが、ググってみたらCSVのパースも シンプルな式になるもんだな・・・ 面白そうだから今度やってみよう。 教えてくれてトン。
125 名前:デフォルトの名無しさん mailto:sage [2010/09/15(水) 14:59:21 ] foo-baa.cpp ってファイル名使いたい でもboostではfoo_baa.cpp なんだよね FreeBSDのxtermだと _ 消えて見えないから見にくい
126 名前:デフォルトの名無しさん mailto:sage [2010/09/15(水) 21:55:24 ] >>91 boostpro からも1.44のインストーラが出てますね。 www.boostpro.com/download/
127 名前:デフォルトの名無しさん mailto:sage [2010/09/19(日) 14:37:09 ] Boost.Logって1.45から? つうかreview scheduleにLoggingもあるんだけど やつ間接的にLogに殺されたということなのか Loggingは犠牲になったのか…
128 名前:デフォルトの名無しさん mailto:sage [2010/09/20(月) 16:01:06 ] property_treeのini_parserってメモリ上の文字列に対して使える?
129 名前:デフォルトの名無しさん mailto:sage [2010/09/20(月) 18:06:31 ] stream に対してなら使える。
130 名前:デフォルトの名無しさん mailto:sage [2010/09/20(月) 22:04:00 ] >>129 string path = "C:\\test.ini" istream stream( path ); property_tree::ptree tree; read_ini( stream, tree ); これはいけるけど、 string test = "[test]\ntest=100" istringstream stream( test ); property_tree::ptree tree; read_ini( stream, tree ); これはエラーが出る。何か間違ってるかな
131 名前:デフォルトの名無しさん mailto:sage [2010/09/21(火) 01:36:25 ] stringstreamのヘッダがインクルードされていないとかってオチ …はないかw
132 名前:デフォルトの名無しさん mailto:sage [2010/09/21(火) 04:18:26 ] >>130 試してみたけど、PHOENIX_LIMIT のコンパイルエラー以外は普通に通ったぞ(Boost 1.44 + VC9) とりあえずエラーの内容と環境貼れよ。
133 名前:デフォルトの名無しさん mailto:sage [2010/09/21(火) 21:19:18 ] >>132 すまん、勘違いしていたようだorz しょーもないミスをしていた。自己解決したんでスルーしてください
134 名前:デフォルトの名無しさん mailto:sage [2010/09/22(水) 03:47:30 BE:2161145298-2BP(0)] boost::polygonってlong long使えないのか。 std::abs(long long)が無いってエラーになる。
135 名前:デフォルトの名無しさん mailto:sage [2010/09/22(水) 03:51:58 ] int64_t
136 名前:デフォルトの名無しさん mailto:sage [2010/09/22(水) 04:56:31 BE:1050557257-2BP(0)] そっちでも同じっぽい。 std::abs(int64_t)もstd::abs(__int64)も無い。
137 名前:デフォルトの名無しさん mailto:sage [2010/09/22(水) 12:29:35 ] long longが規格に入るのはC99/C++0xからだからしょうがない
138 名前:デフォルトの名無しさん mailto:sage [2010/09/22(水) 15:34:54 ] テンプレートで実装してなかったのは何か理由があるのか?
139 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 13:46:51 ] ストリーム暗号を作っているのですが、手動でやると復号できるのに プログラムでやろうとするとうまくいきません。2回同じ暗号化を すれば元に戻るはずなのにそうなりません。 出来ればコマンドラインで暗号化復号化の選択ができるようにしたいです。 初心者でよくわからないことが多いのですがよろしくお願いします。 if (argc < 2) { printf("error\n"); return 1;} sprintf(fin, "%.255s", argv[1]); sprintf(fout, "%.250s.perm", argv[1]); if(d==0){ fp=fopen("2.perm","wb"); fq=fopen("2","rb"); }else{ fp=fopen("2.txt","wb"); fq=fopen("2.perm","rb"); 暗号化するときに fp=fopen(fout,"wb"); fq=fopen(fin,"rb"); とするのはいいのですが、復号のときに暗号化されたファイルを 読み込んで処理しても復号できない。 何のデータにばけているのかわかりません。
140 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 13:50:31 ] boostといったいなんの関係があるんだ
141 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 14:07:47 ] マルチーズ
142 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 15:35:38 ] >>140 そこに気付くとは・・・やはり天才・・・
143 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 18:05:29 ] VC++10において、BOOST_TYPEOF(hoge)とdecltype(hoge)は等価になると思っていいんでしょうか?
144 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 19:49:20 ] VC10のdecltypeは、コンパイラがクラッシュする致命的なバグがあるとか。
145 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 20:04:26 ] 大丈夫だ、問題ない
146 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 21:01:53 ] >>144 コンパイラがクラッシュするって本格的だな。 でも実行時にクラッシュするよりはマシだと思うけど。
147 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 23:02:26 ] >>144 クラッシュしないように使えば問題ない
148 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 23:21:10 ] >>147 なぜMatz
149 名前:デフォルトの名無しさん mailto:sage [2010/09/25(土) 00:01:53 ] なんでかしらんがdecltypeって文字の並びに一瞬もよおした・・ 本能が何かを感じたようだ
150 名前:デフォルトの名無しさん mailto:sage [2010/09/25(土) 01:11:10 ] Microsoft製品はSP1が出てから乗り換えるのが基本 本体の安定性もだが、OSだとサードのソフトが、VSだとプラグインやSDK類の対応がすぐには為されないからな
151 名前:デフォルトの名無しさん mailto:sage [2010/09/30(木) 21:40:06 ] VC9で1_44 pythonの埋め込みを試しているのですが メモリリークが発生してしまいます ↓のようなコードなのですがどこがおかしいんでしょう? class Hoge {}; namespace bpy = boot::python; BOOST_PYTHON_MODULE(Hoge){ bpy::class_<Hoge>("Hoge"); } int main( int, char **) { PyImport_AppendInittab("Hoge", initHoge); Py_Initialize(); bpy::object global_ns = bpy::import("__main__").attr("__dict__"); bpy::exec( "from Hoge import *\n" "h=Hoge()\n" , global_ns , global_ns ); Py_Finalize(); return 0; } 同等のことをクラス(Hoge)ではなく、関数で行うとメモリリークは起きません
152 名前:デフォルトの名無しさん mailto:sage [2010/10/07(木) 16:17:32 ] Macのgccっていろいろ変らしいのだけど boostはちゃんと動くの?
153 名前:デフォルトの名無しさん mailto:sage [2010/10/07(木) 16:30:03 ] Boost側が頑張ってるから大丈夫
154 名前:デフォルトの名無しさん mailto:sage [2010/10/13(水) 20:14:50 ] variantってwitch()で型を判断するのダサくないですか? なんかいい方法無いでしょうか
155 名前:デフォルトの名無しさん mailto:sage [2010/10/13(水) 20:19:55 ] Visitor使え。
156 名前:デフォルトの名無しさん mailto:sage [2010/10/13(水) 20:26:10 ] >>155 visitorとは何でしょうか?
157 名前:デフォルトの名無しさん mailto:sage [2010/10/13(水) 20:32:21 ] ググレカス www.kmonos.net/alang/boost/classes/variant.html ここ見てもわからなかったら氏ね。
158 名前:デフォルトの名無しさん mailto:sage [2010/10/13(水) 20:37:35 ] ∧∧ /⌒ヽ) もはようちゃん i三 U 〜三 | (/~∪ 三三 三三 三三
159 名前:デフォルトの名無しさん mailto:sage [2010/10/13(水) 20:56:27 ] ファンクションオブジェクトを型ごとにつくればいいのか。。。
160 名前:デフォルトの名無しさん mailto:sage [2010/10/14(木) 01:18:45 ] >>159 オブジェクトはひとつでいい。すべての型に対応するオーバーロードがあれば。 >>154 if (T* p = boost::get<T>(&v)) ... おすすめ。
161 名前:デフォルトの名無しさん mailto:sage [2010/10/14(木) 20:18:36 ] autoでどうにかならないの?
162 名前:デフォルトの名無しさん mailto:sage [2010/10/15(金) 01:18:06 ] >>161 何が?
163 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 17:09:18 ] spirit::classicのコードをメンテというか改造使用と思ってるんだけどこれを期にspirit v2に移るべきでしょうか? 機能追加するので全面書き直しOKという前提で。
164 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 17:33:40 ] V2ならパース結果をコンテナやタプルに格納する処理を超簡単に書ける。 Boost.Fusionとの連携もすごい。Boost.Qi も出始めと比べて安定して枯れてきてる。 Classic のコードを保守しなくていいなら乗り換えない理由はないと思う。
165 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 18:28:44 ] コンパイラの負担が阿呆ほど増えるけどな
166 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 18:32:06 ] Spirit 使ってる時点で既にコンパイル時間はboostしてるだろ。
167 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 18:37:36 ] >>164-165 わかった。乗り換えてみるよ。
168 名前:デフォルトの名無しさん mailto:sage [2010/10/28(木) 15:41:30 ] sourceforgeのファイル一覧がひどいことになってるな 何のベンチマークだよこれ
169 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:12:33 ] boostを使用してだいぶ開発が進んだ頃に以下のエラーが出るようになりました 1>d:\sdk\boost_1_44_0\boost\type_traits\detail\is_mem_fun_pointer_tester.hpp(1526): error C2061: 構文エラー : 識別子 'clasw' 1>d:\sdk\boost_1_44_0\boost\type_traits\detail\is_mem_fun_pointer_tester.hpp(1527): error C2365: 'boost::type_traits::is_mem_fun_pointer_tester' : 再定義; 以前の定義は '関数' でした。 1>d:\sdk\boost_1_44_0\boost\type_traits\detail\is_mem_fun_pointer_tester.hpp(1527): error C2998: 'boost::type_traits::yes_type boost::type_traits::is_mem_fun_pointer_tester' : テンプレート定義にはなれません。 リビルドしてもこのエラーが出ることもあるしでないこともあるし、出現位置もバラバラで全く原因がわかりません 上記ファイルを使用する機能や上記エラー内容が分かれば教えてください
170 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:31:52 ] claswこれなんだ
171 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:33:44 ] わからないです。そんなもの見つからないし、そんなコードがあったら毎回エラーになるはずですよね・・・
172 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:34:51 ] とりあえず boost/function.hpp 使ってるところをすべてコメントアウトしたら出なくなったかも
173 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:37:17 ] と思ったら21回目のリビルドででました・・・
174 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:39:43 ] ちなみにIDEはVisualStudio2010Express x86ターゲット、デバッグビルド CPUはCore2Duoです
175 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:42:54 ] とりあえずエラーになってしまったオブジェクトも再ビルドすれば普通に通るので、何度がビルドすれば実行ファイルはできます コンパイラのバグかな?
176 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:55:44 ] ディスクが壊れてるんじゃね?
177 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 17:10:56 ] >>174 VC10なら使える人が多いんだから、エラーの出るソース晒してみそ ビルドのやり直しで通るなら、簡易ビルドをOFFにしてみるてがある。
178 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 20:35:59 ] 念のためだけど、Debug フォルダ全消しはしてみたよね?
179 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 22:18:47 ] >>176-178 レスありがとうございます boostのディレクトリを丸々コピー→古いのを削除→新しいのをリネームしたら出なくなったっぽいです。 ディスク障害だったのかな・・・しばらく様子を見てみます
180 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 15:21:45 ] 昔はc++を喜んで使ってたが lisp使うようになってからは lispでデバックしてc++は自動生成するだけだわ それにしてもc++の案件多いなあ
181 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 15:25:02 ] >>180 最近のlispはC++にコンバートできるんだ? Cへのコンバートなら良く見かけるんだけど・・・。 あとSchemeで実用レベルのCorC++コンバーターとかあります?
182 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 15:30:32 ] >>180 Lispのどこらへんが魅力ですか? いや、マジに質問で。そっちのが効率いいなら そっちに乗り換えるのもありかなと。
183 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 16:38:02 ] >>182 Lisp族の魅力はググればいろいろ読めるよ。
184 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 17:46:13 ] 切ったりくっ付けたりかね
185 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 21:37:58 ] lispは合理的ではあるけど、アプリのすべての部分をlispで書くのは無茶じゃないか?
186 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 21:58:24 ] サポートされるライブラリしだいだとおもうけどね。
187 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 22:55:59 ] 関数単位はCで書いてフレームにLispとかが良いのかね
188 名前:デフォルトの名無しさん mailto:sage [2010/11/02(火) 11:08:28 ] それもありだね。
189 名前:デフォルトの名無しさん mailto:sage [2010/11/02(火) 12:49:37 ] あなたにVacuum!〜ちょいやわらかめ〜
190 名前:デフォルトの名無しさん mailto:sage [2010/11/02(火) 20:02:11 ] Boost ってweb frameworkないの?
191 名前:デフォルトの名無しさん mailto:sage [2010/11/02(火) 22:06:40 ] 馬鹿は死んだほうがいいね。
192 名前:デフォルトの名無しさん mailto:sage [2010/11/04(木) 08:26:01 ] javaをc++の方言としてコンパイルする方法あるみたいだから tomcatあたりをc++としてコンパイルしたらいいんでないの?
193 名前:デフォルトの名無しさん mailto:sage [2010/11/05(金) 00:45:01 ] メモリーが無限にあればGCなんていらなくなるな。
194 名前:デフォルトの名無しさん mailto:sage [2010/11/05(金) 15:28:14 ] boostのmulti_arrayってコピーすると ポインタで共有するんじゃなくて内容丸ごとコピーするのね 普通の配列みたいに共有して、不要になったら解放ってできないかな shared_ptr<multi_array<T,int>>にするしかない?
195 名前:デフォルトの名無しさん mailto:sage [2010/11/05(金) 15:31:04 ] >>194 「普通の配列」が何を指してるのか知らないけど、言語組み込みの配列も std::vector も boost::array も共有なんて動作はしません。 で、共有したいという目的に対して shared_ptr では何か不満なの?
196 名前:デフォルトの名無しさん mailto:sage [2010/11/05(金) 15:31:39 ] flyweightはダメか?
197 名前:デフォルトの名無しさん mailto:sage [2010/11/05(金) 15:37:23 ] >>194 www.boost.org/doc/libs/1_44_0/libs/multi_array/doc/reference.html multi_array_ref やら view generator やらあるらしいぞ。
198 名前:デフォルトの名無しさん mailto:sage [2010/11/05(金) 15:37:30 ] 194の配列とポインタの理解度に不安がよぎるな
199 名前:デフォルトの名無しさん mailto:sage [2010/11/05(金) 15:47:22 ] どうせJavaから来たニワカだろ。
200 名前:194 mailto:sage [2010/11/05(金) 16:05:03 ] 表現が悪かったっす クラスメンバに多次元配列がほしいのですが、コンパイル時にサイズが不明なので、 言語組み込みの配列の配列を動的に確保して、多次元配列にしていました 管理が面倒なのでmulti_arrayを使うことに変更したいのですが、 インスタンスをコピーすることがままある&配列の中身は変えないので、 どうせなら配列の中身を丸ごとコピーしないで、ポインタだけで共有したいな、と 目的にはshared_ptr<multi_array<T,int>>が一番合致するんですが、 そうすると結構ソースコードを書き換える必要があるので
201 名前:デフォルトの名無しさん mailto:sage [2010/11/05(金) 16:17:11 ] shared_ptrだと不味いけどmult_arrayがまるごとコピーじゃなかったら問題なかったってことは *とか->の話なのか?
202 名前:デフォルトの名無しさん mailto:sage [2010/11/06(土) 01:48:28 ] >>200 そんなに書き換えがいやなら、元の名前で multi_array<T,int>& とか multi_array_ref とかを 別で置いたらいいんじゃね?
203 名前:デフォルトの名無しさん mailto:sage [2010/11/06(土) 07:41:40 ] >>200 参照渡しで渡せばよくないか?
204 名前:デフォルトの名無しさん [2010/11/20(土) 09:47:50 ] 1.45 Boost C++ Libraries www.boost.org/
205 名前:デフォルトの名無しさん mailto:sage [2010/11/20(土) 12:08:55 ] あれ・・・bjamでビルド失敗するんだがなんだこれ 1.44以前や最新のリポジトリだと問題ないんだが
206 名前:デフォルトの名無しさん mailto:sage [2010/11/20(土) 16:58:02 ] 1.45 VC10でビルドできたよ。 bjamがアンチウイルスに引っかかることは昔あったな。
207 名前:デフォルトの名無しさん mailto:sage [2010/11/20(土) 17:07:41 ] 1.45ビルドできたと思ってたら、アプリのビルドで未定義外部シンボルが出てきた。
208 名前:205 mailto:sage [2010/11/20(土) 19:08:36 ] zipや7zで圧縮されてるソースだと駄目だったけどbz2のはビルド出来た 解凍か何かでしくじってたんではないかと思う
209 名前:デフォルトの名無しさん mailto:sage [2010/11/20(土) 19:58:30 ] あー、解凍云々じゃなくて、ICU入れて--installオプションでビルドしようとするとしくじるみたい MPICHも絡んでるかもしれん bjamはフル機能でビルドしようとすると途端に動作がおかしくなるんだよな・・・
210 名前:デフォルトの名無しさん mailto:sage [2010/11/20(土) 23:59:36 ] 駄目だ、Regexビルドしようとするとエラー吐く わけわからんちん
211 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 00:41:53 ] 今落としてやってみたが普通にビルドできたぞ
212 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 00:56:26 ] win vc9環境. 公式から落としてきた bjam.exe だとエラーで、 bootstrap.bat で生成したbjam.exeだとコンパイルできた… そういうものなの?
213 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 00:58:17 ] せっかく入ってるんだからそっちつかえってことじゃね
214 名前:210 mailto:sage [2010/11/21(日) 02:54:08 ] 今までは最新のリポジトリからビルドしたbjam.exeを常に使ってたんだけど、 >>212 のレスを見て1.45リリース版のソースからビルドしたbjam.exeを使ったらビルド出来た 今回のリリースはちょっと癖があるな
215 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 10:39:02 ] 一番でかい更新はbjamってことか
216 名前:207 mailto:sage [2010/11/21(日) 13:36:23 ] >>207 のリンクエラーは俺のミスでした。 間違えてx86でライブラリビルドしてx64のアプリをビルドしてました。 x64でboostのビルドやり直したら直った。
217 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 13:43:43 ] x64とx86ってライブラリ名同じなんだけどそういうものなの?
218 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 16:34:15 ] むしろ別なのを見たことがない
219 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 16:35:04 ] >>217 / / '" / / ,,-、 /、ヽ\ ゙i;,-''" / ./ /─''''" ̄ ,,/ / ./ / ,,,-‐'"-/ / ./ ゙" "\ ゙i;, | 、// / " ,,,/ / ,-''/ / ,,-''"_ / // ヽ l / レ'/~ /‐/ / / | l| ,,-'"/゙/,」| / ..::;;;,,, } / |~ ,,-‐,,,-''' //~ / /-'''''| | /l /‐'''/'' .人 i' .:: :;'" / / l ノ゙i// ,,-‐'"──== //'" ゙i;: | /‐' ./,, ,,ノ ゙i;,. | _,,-ヾ.// ノ ,-''" l | ‐'" ,,,-‐二 レ' ヽl:i' ./ )'、‐,\゙i;: | ,,,-‐二-┬ナ" /‐'"‐ 〉 ,i'───'''" ̄~-''" ,-‐',ヽ|'" ./゙ヽ-ゝ='\゙i,'''ヽ -゙=‐' '" ,‐'ノ,, /‐''" ,,-‐'''"~ / / ;;:. ──ヽ, ゙i;'''''' , ゙ "-‐'''''""" 〔_,/ ゙ヽ'-'"~ / / / ,; ,,_}_ ゙、 ./__,, _,, / \ ,;' / ,;;;:;:/;: ,, ~ ヽ ヽ. ヽニ‐'、 / / ゙i,_ おめぇ、ここ大丈夫か? ./ '' ,l,,,,,,/ 〉 ゙ヽ、 '''' ,,-''" / ゙i.\ / / ヽ / ゙ヽ、--イ~;;:'" // ::;:;:;: | \ i /  ̄ ゙̄" |;:" // ヽ-‐'''"~l| ./ ゙''''ヽ、,,-‐''" .i /,;'" _,,,,,,,,,_,,,-‐'''-''"~ | (" ̄"'''''‐--、,,_i' // '",,-─'''" ,,,-‐'",-‐'" ,,,,-‐ .___| i' ゙'':::::::::::::::::::::::}
220 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 20:05:13 ] CUDAのDLLは32bitと64bitで名前が違うな
221 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 21:04:11 ] >>219 どうやってきりかえるん?
222 名前:デフォルトの名無しさん mailto:sage [2010/11/22(月) 06:55:09 ] Intelのライブラリも名前違ってたな。
223 名前:デフォルトの名無しさん mailto:sage [2010/11/23(火) 12:58:51 ] Boost インスコ・コンパイルしてみた 容量でか杉わろす
224 名前:デフォルトの名無しさん mailto:sage [2010/11/23(火) 19:41:47 ] 32ビットと64ビットのライブラリでファイル名一緒だから、出力ディレクトリを変えている 自分はstage派だから--stagedir=stage32とstage64
225 名前:デフォルトの名無しさん mailto:sage [2010/11/24(水) 23:04:47 ] (´;ω;)自前 gcc-4.6.0(win) で signals だけが build を失敗する・・・orz 自前 gcc-4.5.1,4.5.2(win) では、build に成功するのにヽ(`Д´)ノウワァァァン
226 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 01:37:45 ] msmを試してみてるんだけど コンパイルに時間かかるね
227 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 01:47:27 ] gccはバージョンによってエラー吐いたり吐かなかったりで始末に負えん
228 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 02:07:17 ] gcc に限ったことじゃないだろう。
229 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 02:25:05 ] Boostはとくにひどいね
230 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 06:42:52 ] >>225 (´・ω・) log 吐かせたら stl_map.h の所で error してた 取りあえず、自前 gcc-4.6.0 の事なので放置・・・(´;ω;`) 以下、一部抜粋 ----- In file included from c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.6.0/include/c++/map:61:0, from ./boost/signals/detail/named_slot_map.hpp:20, from libs\signals\src\named_slot_map.cpp:12: c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.6.0/include/c++/bits/stl_map.h: In member function 'void std::map<_Key, _Tp, _Compare, ・・・ < 略 > libs\signals\src\named_slot_map.cpp:105:23: instantiated from here c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.6.0/include/c++/bits/stl_map.h:626:9: error: call of overloaded c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.6.0/include/c++/bits/stl_tree.h:763:7: note: candidates are: void std::_Rb_tree<_Key, ・・・ < 略 >
231 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 09:26:14 ] こんなガラパゴスで愚痴ってたって解決せんぞ さっさとBoostコミュに報告しろ
232 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 12:57:09 ] 「自前」なので放置、ってことは gcc の中身をいじってるんじゃないか? 相談したいならエラーメッセージを省略とか、わけわからんことするな。
233 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 16:06:27 ] >>225 またおまえか。
234 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 16:10:26 ] >>231-232 CYGWIN+MinGW+GCCスレでもずっとこの調子で長期にわたって 住民を困らせてるやつだから相手にしないほうがいいぞ。
235 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 18:23:07 ] あら、そんな奴だったのか ならば死ぬがよい
236 名前:うp [2010/11/28(日) 23:31:48 ] uproda.2ch-library.com/lib318675.h.shtml DLキー:1
237 名前:うp mailto:sage [2010/11/29(月) 05:34:15 ] uproda.2ch-library.com/3187145H1/lib318714.zip DLキー:1
238 名前:デフォルトの名無しさん mailto:sage [2010/12/09(木) 08:16:18 ] SpritiとかQiとかYacc使えばいいのに
239 名前:デフォルトの名無しさん mailto:sage [2010/12/09(木) 08:20:50 ] boost.FC++ は何故採択されなかったのか
240 名前:デフォルトの名無しさん mailto:sage [2010/12/09(木) 08:44:11 ] Boost.Coroutine がレビュースケジュールに入ってない 結局入るの?
241 名前:デフォルトの名無しさん mailto:sage [2010/12/09(木) 20:24:21 ] BOOST_SCOPE_EXITでメンバ関数を呼びたいときって CMyClass* pthis = this; BOOST_SCOPE_EXIT((&pthis)) { pthis->MemberFunc(); } BOOST_SCOPE_EXIT_END; こうしないと駄目?
242 名前:デフォルトの名無しさん mailto:sage [2010/12/13(月) 12:26:33 ] gccでC++0xオプションつけても動きますか?
243 名前:デフォルトの名無しさん mailto:sage [2010/12/20(月) 01:55:11 ] static boost::array<int, 5> Array; のようにboost_arrayにstaticを付けるとvc2005ではデバッグ時にシンボルとして扱ってくれずに ブレークポイントもウォッチも出来なくなりました。 これはboost::arrayをstaticにしてはだめということでしょうか? それともvc2005が対応してないだけなのでしょうか?
244 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 12:00:21 ] arrayを何とかして要素数の指定無しに使いたいんですが、無理なんでしょうか。 array<int, 3> a = {1,2,3};の要素数は推測して欲しいです。
245 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 12:07:20 ] int a[] = { 1, 2, 3};
246 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 12:27:22 ] >>245 その場合begin()やend()が提供されません
247 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 13:00:03 ] boost::rangeのbegin()とend()を使えばいいのでは?
248 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 14:57:50 ] >>247 あり^^
249 名前:デフォルトの名無しさん mailto:sage [2010/12/24(金) 08:56:10 ] なぜYes No判定関数は必ず is_foo なんだろう
250 名前:デフォルトの名無しさん mailto:sage [2010/12/24(金) 09:03:35 ] Is 〜はyesかnoしか返さないからだろ
251 名前:デフォルトの名無しさん mailto:sage [2010/12/24(金) 13:22:56 ] >>249 if (x.is_foo()) ... が英語の自然な文として読めるからだろ
252 名前:デフォルトの名無しさん mailto:sage [2010/12/24(金) 22:57:42 ] すみません質問です。 Win32のAPIによくあるコールバックから手軽にメンバ関数を呼びたくて boost::bindでクラスのメンバ関数にバインドしたいのですがうまくいかず困っています。 具体的にはSetWindowsHookExに渡すHOOKPROCに、以下のメンバ関数を割り当てたいです LRESULT App::HookProc( int code, WPARAM wp, LPARAM lp ) ちなみにHOOKPROCの定義はこんな感じ typedef LRESULT (CALLBACK* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam); こんな感じで描いてみたんですが SetWindowsHookEx( WM_IME_SETCONTEXT, boost::bind( &App::HookProc, this, _1, _2, _3 ), NULL, 0 ); 結果は次の通りです 'SetWindowsHookExW' : 2 番目の引数を 'boost::_bi::bind_t<R,F,L>' から 'HOOKPROC' に変換できません どう書いたら通るんでしょうか。よろしくお願いします
253 名前:デフォルトの名無しさん mailto:sage [2010/12/24(金) 23:10:30 ] 無理に決まってんだろ 静的なメンバ作ってそこから呼ぶしかない
254 名前:デフォルトの名無しさん mailto:sage [2010/12/24(金) 23:22:33 ] インスタンスがあるならそれ使って呼ばせられなかったっけ
255 名前:デフォルトの名無しさん mailto:sage [2010/12/25(土) 00:12:42 ] 呼び出し規約と引数をHOOKPROCに合わせたトランポリン関数を 動的に生成して…とか考え始めて無駄な時間を過ごすのが俺は好き。
256 名前:デフォルトの名無しさん mailto:sage [2010/12/25(土) 00:53:02 ] >>252 std::functionを使えばいい。 std::functionのオブジェクトのポインターをLPARAMとかを経由して渡す コールバック関数は、ポインター経由でfunctionを使う。
257 名前:デフォルトの名無しさん mailto:sage [2010/12/25(土) 09:05:05 ] LPARAMはそういう用途じゃないから渡せなくないか?
258 名前:デフォルトの名無しさん mailto:sage [2010/12/25(土) 09:40:30 ] や、気のせいだった
259 名前:デフォルトの名無しさん mailto:sage [2010/12/26(日) 15:12:02 ] class hoge{ virtual void f(); }; class fuga : public hoge { void f(); }; x_queue<hoge> q; q.push(hoge()); q.push(fuga()); q.front().f(); // hoge::f q.front().f(); // fuga::f こんな感じのコンテナってboostにない? ようするにptr_vectorからnewも隠蔽したような感じの stl基準満たしてなくてもいいです
260 名前:デフォルトの名無しさん mailto:sage [2010/12/26(日) 15:13:02 ] あ、間違えた q.front().f(); // hoge::f q.front().f(); // fuga::f ↓ q.front().f(); // hoge::f q.pop(); q.front().f(); // fuga::f
261 名前:デフォルトの名無しさん mailto:sage [2010/12/26(日) 15:15:32 ] >>259 本当にほしいなら ptr_vector をラップすりゃいいんだろうけど、 あんまり意味があるとは思わんな。
262 名前:デフォルトの名無しさん mailto:sage [2010/12/28(火) 00:43:51 ] .
263 名前:デフォルトの名無しさん mailto:sage [2010/12/28(火) 01:19:47 ] 2chニュースは時事ニュースがとんでもなく面白く理解できる。 難しそうではあるが気になるニュースタイトルに飛んでみると記事に対する2ちゃんねらー達の面白い書き込みによってニュースの内容があっという間に理解出来る様になる。 おれは今まで半ば義務感でニュースをサイトなどに目を通していただけなのだが、2chニュースのお陰で仲間の誰よりも時事問題の先端を行く様になってしまった。もはや中毒気味になる位にニュースが毎日楽しくて仕方ない。 ここでは敢えて四つしか取り上げないが、2NNサイト内であればどの掲示板でもRSS生成が可能。 サイトを覗くだけでも良いがRSSリーダーで効率良く情報収集する人ならばこちらがオススメ。(RSSリーダーは各デバイスに応じた専用アプリ・ソフトがある) またTwitterでも2ch botがある。Twitterは各デバイスに応じた専用クライアントソフト・アプリを介して使用するのが便利。興味が有る人は各々調べて貰いたい。 ●2ちゃんねる ニュースサイト(RSS生成可) 2NN新着www.2nn.jp/latest/ 2NNトップページwww.2nn.jp/ 2NN今日のニュース www.2nn.jp/ranking/today/ 2NN祭級ニュース www.2nn.jp/matsuri/ ●2ちゃんねる ニュースサイト(RSS生成不可) 2ちゃんねる BBY(各ニュース板における前日までの新着スレッドが一望出来る)headline.2ch.net/bbynews/ 2ちゃんねる 全板縦断 勢いランキング2ch-ranking.net/index.html?board=zenban ?page=click_linklog_view.daily_ranking&
264 名前:デフォルトの名無しさん mailto:sage [2011/01/02(日) 15:17:28 ] Windows 7 64bit Visual Studio 2010 に32ビット、64ビット環境を作りたくて boost1.45 をこのようにインストールしたんだが大丈夫?
265 名前:デフォルトの名無しさん mailto:sage [2011/01/02(日) 15:18:16 ] ↑の続きです bootstrap.bat bjam --toolset=msvc address-model=64 --stagedir=./stage/x64 link=static,shared release debug stage bjam --toolset=msvc address-model=32 --stagedir=./stage/x86 link=static,shared release debug stage
266 名前:デフォルトの名無しさん mailto:sage [2011/01/05(水) 18:01:17 ] boost.fusionにlambdaの配列入れたいけど無理っぽい
267 名前:デフォルトの名無しさん mailto:sage [2011/01/08(土) 16:57:40 ] Boost.Chronoがtrunkにきたな ・・・ところでBoost.Chronoってナニ?
268 名前:デフォルトの名無しさん mailto:sage [2011/01/08(土) 21:44:44 ] C++0x の <chrono> の Boost 実装版。
269 名前:デフォルトの名無しさん mailto:sage [2011/01/10(月) 16:48:23 ] 時計?
270 名前:デフォルトの名無しさん mailto:sage [2011/01/10(月) 16:54:51 ] 検索してまで知りたくないなら、それまでのこと
271 名前:デフォルトの名無しさん mailto:sage [2011/01/14(金) 13:16:14 ] 質問があります。 boost で document を作成したいのですが、 その時、doxygen に対して オプションを渡したいです。 doxygen 単体の実行であれば、Doxyfile に書き込むものです。 色々調べて、jam ファイルの中に <doxygen:param>VAR=VAL と、いった記述を見かけたのですが、書き方がわかりません。 質問をまとめると、 boost 全体の document 作成に対して、効かせたい doxygen の設定がある場合、 * どこのファイルに * どのように 記述したらいいのかということです。 ご存じの方、教えていただけないでしょうか?
272 名前:デフォルトの名無しさん mailto:sage [2011/01/14(金) 18:25:03 ] >>266 dixq.net/forum/viewtopic.php?f=3&t=1965
273 名前:デフォルトの名無しさん mailto:sage [2011/01/15(土) 10:36:39 ] 並行mapないの?
274 名前:xfsd [2011/01/24(月) 22:12:44 ] boostでベクトル*区間行列の計算のプログラムを作りたいのですが、うまく作れません 。教えてくれませんか
275 名前:デフォルトの名無しさん mailto:sage [2011/01/24(月) 23:21:30 ] >>274 まずは作ってみたコードと、うまくいかなかかった結果と、期待している結果とがわかるようにするんだ。
276 名前:デフォルトの名無しさん mailto:sage [2011/01/24(月) 23:37:08 ] STMなんでboostにはいってねーんだよ いれろよ おねがいします。
277 名前:xfsd [2011/01/25(火) 23:06:59 ] #include "stdafx.h" #include <iostream> #include <boost/numeric/ublas/matrix.hpp> #include <boost/numeric/ublas/io.hpp> #include <boost/numeric/interval.hpp> #include <boost/numeric/interval/io.hpp> namespace ub = boost::numeric::ublas; namespace bn = boost::numeric;using namespace std; int main() { typedef bn::interval<double> xinterval; typedef ub::vector<double> xvector; typedef ub::matrix<double> xmatrix; xinterval a(1,2),b(1,3); xmatrix c(2,2); c(0,0) = 1.; c(0,1) = 0.; c(1,0) = 0.; c(1,1) = 1.; xvector vec(2); vec(0) = 2.0; vec(1) = 0; std::cout << "行列 * ベクトル = " << prod(c , vec) << std::endl; system("PAUSE"); return 0; } 行列*ベクトルはできたのですが、区間行列*ベクトルができません。誰か教えてくれませんか?
278 名前:デフォルトの名無しさん mailto:sage [2011/01/26(水) 14:44:54 ] 関係ないけどublasってopenCVみたいに初期化できないの? Mat M = (Mat_<double>(3,3) << 1, 0, 0, 0, 1, 0, 0, 0, 1);
279 名前:デフォルトの名無しさん mailto:sage [2011/01/27(木) 07:14:46 ] >>278 最近のアップデートで初期化メソッドが追加になったはず
280 名前:デフォルトの名無しさん [2011/01/30(日) 20:49:03 ] そうなのか
281 名前:デフォルトの名無しさん mailto:sage [2011/01/30(日) 21:04:05 ] あしたはみそか
282 名前:デフォルトの名無しさん mailto:sage [2011/01/30(日) 21:12:54 ] 明日は晦日、今日は三十日。どちらも読みはみそか。
283 名前:デフォルトの名無しさん mailto:sage [2011/01/30(日) 21:15:50 ] さむい ねむい
284 名前:デフォルトの名無しさん mailto:sage [2011/01/31(月) 08:38:03 ] 明日は朔日
285 名前:デフォルトの名無しさん mailto:sage [2011/02/04(金) 18:19:57 ] >>278 1_44で追加 https://svn.boost.org/trac/boost/ticket/4034
286 名前:デフォルトの名無しさん mailto:sage [2011/02/04(金) 23:15:44 ] boostに日本人提案のものあるの?
287 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 03:40:46 ] サッカーはナガトモが世界のリーグ行ったのに コンピューターサイエンスは世界のライブラリに名を連ねる事ができないのか
288 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 03:42:48 ] progessが採用されるんだから誰でもOKな筈だ
289 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 03:48:10 ] >>286 パッチやバグ報告ならいくつかあるみたいだね。
290 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 17:47:23 ] >>287 日本って,他の奴の成果をtake,take,and takeで自分の成果は情け無い程度giveするが国技 だからコンピューターサイエンス(IT)でも他の奴の成果をtake,take,and takeし 自分の成果は情け無い程度にgive。
291 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 18:33:29 ] boost::any向け総称関数をMLに投げてみたことあるけど、誰も興味無さそうだったので放置してる。 giveした所で誰も反応してくれないからなあ。
292 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 19:23:39 ] 最低限、反応されるまで声上げ続ける位のガッツがなきゃどうにもならんだろ キンタマ付いてんのかお前
293 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 19:25:13 ] ついてなかったらどうするんだよ 責任取れるのかお前
294 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 19:32:01 ] 責任とってもいいの?
295 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 19:32:15 ] ///
296 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 19:38:33 ] ここまでテンプレ
297 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 19:45:59 ] >>291 あまりにも情け無いgiveでゴミ扱いなんだろ 本人が凄いgiveと思っているだけじゃね
298 名前:デフォルトの名無しさん [2011/02/05(土) 19:55:10 ] アイディアってのは思いついてから使い道が見つかるまで何年かかるかわかんねえ 思いついた奴が生きているうちかどうかもわかんねえ 大勢に知らしめるところまでが、思いついた奴にできることだ 芽が出るにせよ出ないにせよガタガタさわぐのはみっともないだけだ 俺に言わせれば思いつくこと自体に満足できない奴は俗物だ
299 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 21:39:49 ] 何を思いついたんだ?
300 名前:デフォルトの名無しさん [2011/02/05(土) 22:13:47 ] 色々だよ 例えば周波数帯の合わない検波器の使い方とか 「ある処理」を非再帰で片付ける方法とか
301 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 22:21:40 ] その思いつきどうboostと関連あるんの?
302 名前:デフォルトの名無しさん [2011/02/05(土) 22:56:49 ] 逆に boost と関係ないものって何だ?
303 名前:デフォルトの名無しさん mailto:sage [2011/02/06(日) 15:51:56 ] boostを使わないプログラム
304 名前:デフォルトの名無しさん mailto:sage [2011/02/06(日) 15:53:39 ] まさか、boostを使わないプログラムに、ここはboostで出来るから変えろ! とかわ言わないよな?
305 名前:デフォルトの名無しさん mailto:sage [2011/02/06(日) 16:30:30 ] そんなのRubyのひとだけだよ
306 名前:デフォルトの名無しさん mailto:sage [2011/02/06(日) 17:04:52 ] > boost と関係ないもの boost のライセンスと相容れないものは とりあえず boost と無関係
307 名前:デフォルトの名無しさん mailto:sage [2011/02/07(月) 06:24:52 ] >>298 Haskellのライブラリなんか殆どが何に使えるのかわからん
308 名前:デフォルトの名無しさん mailto:sage [2011/02/07(月) 07:00:45 ] spiritの機能を動的に使う方法ないですか? 組み込み言語のほうで構文決めたいんですが。
309 名前:コピペのレビューお願いします mailto:sage [2011/02/07(月) 14:08:05 ] 5年前の長友は怪我で試合出場どころか 観客席で応援として太鼓を叩くだけだった体たらく 今や世界のインテルに移籍して 口だけじゃなく世界一のSBを目指してる 頑張ればお前らだって(精神の)怪我で社会出場どころか 2ちゃんねるでキーボードと情弱叩くだけだった体たらくから 5年後にはBoostにライブラリを採択されるような 世界級プログラマになってるかもだぞ! 早く世界のインテルに移籍して 愚痴だけじゃなく世界一のSEを目指せ!Σd(`・ω・´)
310 名前:デフォルトの名無しさん mailto:sage [2011/02/07(月) 14:52:26 ] BoostやるよりPythonやっといたほうがいいよ
311 名前:デフォルトの名無しさん mailto:sage [2011/02/07(月) 15:05:00 ] BoostとPythonを並べる理由がわからない… もしかしてBoostのこともPythonのことも一切分かってない馬鹿なら 並べて云々できるってことなのか…
312 名前:デフォルトの名無しさん mailto:sage [2011/02/07(月) 15:14:29 ] Boostと並べたいならDだろ
313 名前:デフォルトの名無しさん mailto:sage [2011/02/07(月) 15:15:04 ] 馬鹿なんだろう ほっとこうぜ
314 名前:デフォルトの名無しさん mailto:sage [2011/02/07(月) 16:58:33 ] >>309 うまくないし何か痛いわ
315 名前:デフォルトの名無しさん mailto:sage [2011/02/07(月) 18:18:00 ] Eclipse CDTでboostのバージョンが上がる度にフォルダ名を変えるのが 面倒臭いので、"Boost"という単純な名前にしてしまった これだとパッと見バージョンを間違える事があるけどいちいちプロジェクトを 書き換えなくていい
316 名前:デフォルトの名無しさん mailto:sage [2011/02/07(月) 18:46:52 ] チラ裏
317 名前:デフォルトの名無しさん mailto:sage [2011/02/08(火) 02:01:41 ] >>314 あり^^
318 名前:デフォルトの名無しさん mailto:sage [2011/02/08(火) 09:15:58 ] >>312 D はもう終わってる Boost はまだ始まっていない
319 名前:デフォルトの名無しさん mailto:sage [2011/02/09(水) 19:29:01 ] Boostは始まってるだろ
320 名前:デフォルトの名無しさん mailto:sage [2011/02/09(水) 19:38:46 ] ちゅうか、Dと比べたら、Boostは既に市場に行き渡ってると言っていい状況だよな。
321 名前:デフォルトの名無しさん mailto:sage [2011/02/09(水) 20:03:27 ] 全然始まってるじゃんよ。
322 名前:デフォルトの名無しさん mailto:sage [2011/02/09(水) 21:05:15 ] BoostとDを並べる理由がわからない… もしかしてBoostのこともPythonのことも一切分かってない馬鹿なら 並べて云々できるってことなのか…
323 名前:デフォルトの名無しさん mailto:sage [2011/02/09(水) 21:09:25 ] やる氣のないレス改変だなあ
324 名前:デフォルトの名無しさん mailto:sage [2011/02/09(水) 21:33:30 ] 気持ち悪い
325 名前:デフォルトの名無しさん mailto:sage [2011/02/10(木) 19:42:54 ] ンギモッヂイイッ!!!ハッハッハッ……
326 名前:デフォルトの名無しさん mailto:sage [2011/02/11(金) 14:50:49 ] Polygonの活用方法がいまいちよく分からないんだけど 使ってる人がいればどんなふうに使ってるのか教えてくれ
327 名前:デフォルトの名無しさん mailto:sage [2011/02/17(木) 13:42:37 ] なんでPythonのライブラリがあるの? Pythonはそんなに優遇されてるの?
328 名前:デフォルトの名無しさん mailto:sage [2011/02/17(木) 14:28:43 ] ruby厨乙
329 名前:デフォルトの名無しさん mailto:sage [2011/02/17(木) 16:11:31 ] 何でって、書いてくれる人がいるからあるんだろ。
330 名前:デフォルトの名無しさん mailto:sage [2011/02/19(土) 21:23:39.09 ] >>328 誰と闘ってるんだ
331 名前:デフォルトの名無しさん mailto:sage [2011/02/20(日) 16:43:59.53 ] こちらboostン宇宙基地
332 名前:デフォルトの名無しさん mailto:sage [2011/02/20(日) 18:49:18.02 ] multi_index_containerの質問です。 classをデータとして登録してみたのですが、 get<0>()で取得した場合、constメンバ関数しかアクセスできませんでした。 BOOST_FOREACH( const Hoge& h,hoge.get<0>()) { h.test(); } constを付けないとコンテナ側のコンパイルエラーとなってしまい、 constを付けると test()がコンパイルエラーとなってしまいます。 multi_index_containerは、const利用が前提なのでしょうか? それとも、constを外して利用する手段は存在しますか? 一応、get<0>()以外にそういった用途の物がありそうなのですが、 見つけられなかった・・。
333 名前:デフォルトの名無しさん mailto:sage [2011/02/20(日) 19:13:14.44 ] Boost.MultiIndex の実装は、std::set に近いと考えればいい。 自由に要素を書き換えられたら要素のソート状態が崩れるだろ。
334 名前:デフォルトの名無しさん mailto:sage [2011/02/20(日) 19:15:48.26 ] やはりそうですか、 すっきりしました、ありがとうございます。
335 名前:デフォルトの名無しさん [2011/02/21(月) 21:01:12.20 ] regexの一文字マッチのドットを 日本語の一文字に対応させることってできます?
336 名前:デフォルトの名無しさん mailto:sage [2011/02/21(月) 21:10:57.75 ] wregex使えばいいよ
337 名前:デフォルトの名無しさん mailto:sage [2011/02/21(月) 21:23:14.07 ] c++の列挙体をboost.python使ってpythonから扱いたいんだがどうすればいいんだ?
338 名前:337 mailto:sage [2011/02/21(月) 21:51:13.44 ] ごめん自決した
339 名前:デフォルトの名無しさん mailto:sage [2011/02/21(月) 21:53:21.41 ] マジか。漢らしいな
340 名前:デフォルトの名無しさん mailto:sage [2011/02/21(月) 22:13:21.78 ] スレ違い。冥府板へ 【自刃】一番すごい自決した奴が優勝【陰腹】 その6 ttp://greek.2ch.net/test/read.cgi/hades/1293804606/ 避難所 ttp://kamome.2ch.net/test/read.cgi/river/1293804606/
341 名前:デフォルトの名無しさん [2011/02/22(火) 15:49:23.13 ] 1.46.0 www.boost.org/
342 名前:デフォルトの名無しさん mailto:sage [2011/02/23(水) 13:57:57.13 ] >>336 ttp://www.boost.org/doc/libs/1_46_0/libs/regex/doc/html/index.html wregexについての記述が見当たらないんですが、 この中にありますか? なんか探しても見つかりません…
343 名前:デフォルトの名無しさん mailto:sage [2011/02/23(水) 14:07:55.35 ] ttp://www.boost.org/doc/libs/1_46_0/libs/regex/doc/html/boost_regex/unicode.html これだろ
344 名前:デフォルトの名無しさん mailto:sage [2011/02/23(水) 14:15:50.98 ] >>342 ttp://www.boost.org/doc/libs/1_46_0/libs/regex/doc/html/boost_regex/ref/basic_regex.html あるよ
345 名前:デフォルトの名無しさん mailto:sage [2011/02/23(水) 15:37:32.53 ] >>343 ,344 ありがとうございます。
346 名前:デフォルトの名無しさん mailto:sage [2011/02/23(水) 19:17:49.15 ] Boost.lclなるものが加わったみたいでなんじゃこりゃと思ったらIclかよ フォントによっては区別つかねーよ
347 名前:デフォルトの名無しさん mailto:sage [2011/02/23(水) 19:29:12.48 ] Boost のドキュメントのフォントだとまじで区別つかない。
348 名前:デフォルトの名無しさん mailto:sage [2011/02/23(水) 19:47:02.23 ] Iclって何するんだ? 名前からすると間隔つーか値の範囲を持ったオブジェクトあたり?
349 名前:デフォルトの名無しさん mailto:sage [2011/02/23(水) 22:29:37.03 ] 時間間隔をキーにしたコンテナじゃないか?
350 名前:デフォルトの名無しさん mailto:sage [2011/02/24(木) 16:53:06.62 ] boost.Intervalじゃ[1,3)みたいな一つの開区間しか表せないけど 数直線状の任意の部分を表すには[1,3)と[3,5)と[7,9)みたいに複数の区間がいるから それを扱うものなんじゃないか?
351 名前:デフォルトの名無しさん mailto:sage [2011/02/24(木) 16:53:49.11 ] ごめん、×開区間→○区間な
352 名前:デフォルトの名無しさん mailto:sage [2011/02/25(金) 06:48:04.25 ] >>350 それを実現するのが interval_set interval_set 間の集合演算もできる。 interval_map というのもあってこっちは各区間に値を付けられる。 {[1,3]->1} に [2,4]->1 を追加すると {[1,2)->1,[2,3]->2,(3,4]->1}になる、多分。
353 名前:デフォルトの名無しさん mailto:sage [2011/02/25(金) 20:22:58.92 ] boost::wregex r(L"(.)"); boost::wsmatch m; wstring s = L"ほげ"; boost::regex_search(s, m, r); これで、 sub_match.hpp(429) : error C2679: 二項演算子 '<<' : 型 'std::basic_string<_Elem,_Traits,_Ax>' の 右オペランドを扱う演算子が見つかりません (または変換できません)。 とかいうエラーがでるんですがなんなんでしょう?
354 名前:デフォルトの名無しさん mailto:sage [2011/02/25(金) 22:44:46.42 ] >>353 boost_145@MSVC2010 エラー無し boostのバグじゃね? あいつらワイド文字気分で作って大してテストもしてねぇから
355 名前:デフォルトの名無しさん mailto:sage [2011/02/25(金) 23:01:29.37 ] vs2010ならstd::wregexの方使ってみればいいよ
356 名前:デフォルトの名無しさん [2011/02/28(月) 16:34:27.96 ] 質問です。 以下ページにあるC++0x用LINQメソッドを smellegantcode.wordpress.com/2009/01/26/linq-to-c0x/ 使用した結果をBOOST_FOREACHに入れて回そうとしたのですが、 コンパイルエラーとなってしまいます。 std::vector<int> array = { 1, 2, 3, 4, 5 }; auto result = from(array).where([] (const int & n) { return (n % 2) == 0; }); auto itr = result.begin(); // 通る BOOST_FOREACH (auto n, result) { } // コンパイルエラー ideone.com/Iu133 (boostの環境が作れなかったのでソース閲覧用に) iteratorのBOOST_FOREACHに対する要件が足りていないのかと思い、 iterator_adaptorやiterator_facadeを const_iteratorに継承させたりしてみたのですが、 私がこれらをあまり理解出来ていないこともあってか 最終的にコンパイルエラーを取り除くことが出来ませんでした。 (あとtypedef const_iterator iterator;も追加してみました) どなたか解決のヒントをいただけませんでしょうか?
357 名前:デフォルトの名無しさん mailto:sage [2011/02/28(月) 17:24:43.30 ] >>307 例えば?
358 名前:デフォルトの名無しさん mailto:sage [2011/03/01(火) 02:11:17.74 ] >>356 エラーメッセージは?
359 名前:デフォルトの名無しさん mailto:sage [2011/03/01(火) 09:41:42.85 ] エラーメッセージ書かない時点で 答えてもらう気ないだろ
360 名前:デフォルトの名無しさん mailto:sage [2011/03/01(火) 09:49:27.12 ] boost使用時のコンパイラエラーメッセージって役に立つか? 立たないことは無いけど、異様に長いし、エラーをピンポイントで指摘してないし。 結局、行番号を頼りに修正することが多い。
361 名前:356 [2011/03/01(火) 10:40:42.97 ] プロジェクトパス\project\boost_1_45_0/boost/mpl/eval_if.hpp: In instantiation of 'boost::mpl::eval_if<mpl_::bool_<false>, boost::range_const_iterator<filter<int, int, filter<int, int, __gnu_cxx::__normal_iterator<const int*, std::vector<int> >, pass_thru<int>, always_true<int> >::const_iterator, pass_thru<int>, main()::<lambda(const int&)> > >, boost::range_mutable_iterator<filter<int, int, filter<int, int, __gnu_cxx::__normal_iterator<const int*, std::vector<int> >, pass_thru<int>, always_true<int> >::const_iterator, pass_thru<int>, main()::<lambda(const int&)> > > >': プロジェクトパス\project\boost_1_45_0/boost/foreach.hpp:355:13: instantiated from 'boost::foreach_detail_::foreach_iterator<filter<int, int, filter<int, int, __gnu_cxx::__normal_iterator<const int*, std::vector<int> >, pass_thru<int>, always_true<int> >::const_iterator, pass_thru<int>, main()::<lambda(const int&)> >, mpl_::bool_<false> >' プロジェクトパス\project\linq.cpp:150:2: instantiated from here プロジェクトパス\project\boost_1_45_0/boost/mpl/eval_if.hpp:38:31: error: no type named 'type' in 'struct boost::mpl::eval_if<mpl_::bool_<false>, boost::range_const_iterator<filter<int, int, filter<int, int, __gnu_cxx::__normal_iterator<const int*, std::vector<int> >, pass_thru<int>, always_true<int> >::const_iterator, pass_thru<int>, main()::<lambda(const int&)> > >, boost::range_mutable_iterator<filter<int, int, filter<int, int, __gnu_cxx::__normal_iterator<const int*, std::vector<int> >, pass_thru<int>, always_true<int> >::const_iterator, pass_thru<int>, main()::<lambda(const int&)> > > >::f_'
362 名前:356 [2011/03/01(火) 11:12:03.69 ] 失礼しました。上記のがideoneのソースそのままでのコンパイルエラーです。 イテレータの解釈辺りでtypeのtypedefが無いということのようなので、 イテレータがforeachの走査対象に足る要件を満たしていないのかなと判断しました。 iterator_adaptors系を使えば良い感じに揃えてくれるのかな?と思ったのですが、 それらを用いるコードが私の理解ではきちんと書けていない状況です。
363 名前:デフォルトの名無しさん mailto:sage [2011/03/01(火) 13:34:43.76 ] 日本人の貢献者ねえ・・・ cpanオーサーに日本人増えてきたらこんな事件おきたり www.yabbforum.com/community/YaBB.pl?num=1286567562 phpが「流行」したりする謎を知らないのかな
364 名前:デフォルトの名無しさん [2011/03/01(火) 17:18:11.86 ] Boost.Rangeを使ってみているのですが、 STLコンテナのinsert等にrangeを渡したりは出来ないんでしょうか? begin/endを呼ぶためだけに変数に格納するのが何かおかしく感じます。
365 名前:デフォルトの名無しさん mailto:sage [2011/03/01(火) 21:17:41.84 ] >362 >イテレータの解釈辺りでtypeのtypedefが無いということのようなので、 >イテレータがforeachの走査対象に足る要件を満たしていないのかなと判断しました。 多分違う。エラーが出てるのは mpl::eval_if のところなのでここでエラーの出てる type は mpl のメタ関数としての type だ。 あとエラーの出てる行は古いコンパイラ用の workaround のところで VC++ .NET 2002 以前を使ってる場合に 当たるんだけど C++0x 向けでラムダ式とか使ってるみたいだしなんかどっかおかしそう。
366 名前:デフォルトの名無しさん mailto:sage [2011/03/01(火) 21:25:53.46 ] >364 コンテナにメンバ関数を追加するわけにはいかにので別途アルゴリズムが用意されてる。 www.boost.org/doc/libs/1_46_0/libs/range/doc/html/range/reference/algorithms/new.html
367 名前:356 mailto:sage [2011/03/02(水) 03:39:10.88 ] >>365 なるほと・・、私の見当違いだったんですね。 マクロシンボルでの分岐をトレースして原因を調べてみたいと思います。 おかげで一歩前へ進めます。どうもありがとうございました。
368 名前:364 mailto:sage [2011/03/02(水) 04:08:56.10 ] >>366 おぉぉありがとうございます! これでbegin/endのタイプ量が激減してソース横幅も縮みそうです。 やはりきちんと用意されているものなのですね。 ただメンバ関数とは書く順番が変わってしまうのですか・・ 黒魔術的な何かで何とかされているかと思っていたので少し残念です。 C++にも拡張メソッドが欲しくなりますね。
369 名前:デフォルトの名無しさん mailto:sage [2011/03/02(水) 18:19:07.50 ] どうも1.46.1が出るっぽい なんぞ不具合でもあったのかしら
370 名前:デフォルトの名無しさん mailto:sage [2011/03/03(木) 00:50:04.85 ] >>356 そこのconst_iteratorをstd::iterator<std::input_iterator_tag, TElemTo const>から派生させたら、 BOOST_FOREACH (auto n, boost::make_iterator_range(result.begin(), result.end())) がコンパイル通るようになった。
371 名前:デフォルトの名無しさん mailto:sage [2011/03/03(木) 02:37:10.73 ] boost/regexで マッチする部分をすべて取り出すことって出来ます? boost::regex r("a[^a]+b"); boost:smatch m; string s = "ahb anb atb"; ならahb anb atbそれぞれを取り出したいのですが。
372 名前:デフォルトの名無しさん mailto:sage [2011/03/03(木) 02:49:02.95 ] std::string::const_itarator itbegin = s.cbegin(); std::string::const_itarator itend = s.cend(); while (std::regex_search(itbegin, itend, r, m) { itbegin = m[0].second; }
373 名前:デフォルトの名無しさん mailto:sage [2011/03/03(木) 02:53:01.08 ] >>372 ありがとうございます。
374 名前:デフォルトの名無しさん mailto:sage [2011/03/03(木) 12:25:13.55 ] 以前に VisualStudio の環境でダウンロードしただけで動くものをまとめてファイルにアップしてた人がいたけど 誰かurl知りませんか? 便利なのにテンプレに載ってないのはなんでです?
375 名前:デフォルトの名無しさん mailto:sage [2011/03/03(木) 12:28:20.53 ] 過去ログでみつけた boooster.x0.to/
376 名前:デフォルトの名無しさん mailto:sage [2011/03/03(木) 15:31:43.47 ] 前と違って、今は公式でVisualStudio用のバイナリが配付されてるじゃん そういえばどっかの企業もバイナリ配布してたけどやめちゃったな
377 名前:デフォルトの名無しさん mailto:sage [2011/03/03(木) 17:21:36.18 ] >>374 ,375 それsvnの野良ビルドだよね確か。 svn最新なので万人向けじゃないし、svn追っかける人なら自分でビルドするし、特に需要がなかったんじゃない? あと更新される度にスパムのようにURL貼ってたのでウザがられてた。 テンプレ申請なりサイトでRSS配信なりすればよかったのにね。
378 名前:デフォルトの名無しさん mailto:sage [2011/03/03(木) 17:55:36.54 ] bjamでビルド簡単になったんだからboostぐらいビルドしようぜ・・・ boost使う=開発環境あるわけだし。 ビルドに時間掛かるのは別w
379 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 10:17:25.38 ] Windowsは知らないけどLinuxでBoostビルドすると風呂入って一眠りしてコーヒー飲むぐらい時間かかるんだけど・・・
380 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 10:32:46.31 ] >>379 それってPCの性能じゃなくてOSの差なんですか?
381 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 11:54:38.77 ] >>379 出涸らし風味な話題だけれど・・・ C2Q 6550/RAM 4GB/XP SP3(x86)/7200rpm HDDの環境で時間は忘れたけど結構掛かったな。 あまりの遅さにSSD買ってVSとboostのソースを置いてビルドしたら爆速で終わった。 仕事なら時間単価で計算すると1ヶ月ぐらいで元取れるしなw
382 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 12:44:49.19 ] うちの場合wave, mpi, serialization, program_options辺りいらないのでビルドから外す。
383 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 12:45:41.93 ] CPU性能ももちろん大事だけど、ストレージのランダムアクセス性能が一番影響しそうだね 数GB読み書きするでしょ
384 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 13:39:59.80 ] その用途ならSSDよりメモリ馬鹿積みでRAMDISKの方がよさそう
385 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 15:31:35.14 ] debugはビルドしてない
386 名前:379 mailto:sage [2011/03/04(金) 16:00:59.64 ] 俺の環境がシングルコアでへぼいというのは百も承知だが ・静的ライブラリ ・静的ライブラリ(デバッグ情報付き) ・静的ライブラリ(STLportのデバッグモードを使ったデバッグ情報付き) ・動的ライブラリ ・動的ライブラリ(デバッグ情報付き) ・動的ライブラリ(STLportのデバッグモードを使ったデバッグ情報付き) を全部のライブラリに噛ましてやると俺のマシンは悲鳴を上げるんだぜ 情けないよな
387 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 16:26:40.23 ] 要らない情報だよねそれ
388 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 16:48:16.20 ] >>387 つ[strip --strip-all]
389 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 17:52:40.76 ] >>387 要らないレスすんなよ
390 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 18:23:39.74 ] こうしてゴミレスがまたひとつ
391 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 18:30:11.33 ] これが後世に残るゴミレススパイラルの始まりであった
392 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 18:55:41.45 ] -jxオプションを付けてやると並列ビルドされるのでかなり高速化されるよ 並列数はCPUのコア数とクロックに応じて程々に 例:8並列の場合 bjam -j8 (以下いつものオプション色々)
393 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 19:05:54.26 ] 使うライブラリだけビルドすればいいだろ
394 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 19:12:49.58 ] やりかた知らないんだと思うよ
395 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 19:48:33.59 ] そうやって「俺がいらないものはいらない」で排除ばっかしてるから ゴミレスしか残らなくなるんだろ
396 名前:デフォルトの名無しさん mailto:sage [2011/03/04(金) 20:14:20.85 ] とはいえいきなり自分の手際の悪さを晒されましても ゴミレス以外にどうリアクションをとればいいのやら
397 名前:デフォルトの名無しさん mailto:sage [2011/03/05(土) 02:25:40.00 ] 並列ビルドしちゃいけないわけじゃあるまいに
398 名前:デフォルトの名無しさん [2011/03/05(土) 09:06:33.90 ] セキュリティソフトのリアルタイム検索切ってみるとか?
399 名前:デフォルトの名無しさん mailto:sage [2011/03/05(土) 21:17:22.92 ] ゴミレスしかねぇ
400 名前:デフォルトの名無しさん mailto:sage [2011/03/06(日) 08:50:33.24 ] >>396 馬鹿だなお前w ゴミレスしなきゃいいじゃん
401 名前:デフォルトの名無しさん mailto:sage [2011/03/06(日) 10:17:19.96 ] まさにゴミレース
402 名前:デフォルトの名無しさん mailto:sage [2011/03/06(日) 13:56:54.46 ] >>374 www.boostpro.com/download/
403 名前:デフォルトの名無しさん mailto:sage [2011/03/06(日) 19:55:44.16 ] ここ数年でこのスレの質が落ちまくってる
404 名前:デフォルトの名無しさん mailto:sage [2011/03/06(日) 21:01:09.87 ] twitterみたいなサービス使ってると、2chはログ検索でしか使わなくなる人が多いのでは。
405 名前:デフォルトの名無しさん mailto:sage [2011/03/06(日) 21:11:49.41 ] やっぱりTwitterの影響は大きいのかな。
406 名前:デフォルトの名無しさん mailto:sage [2011/03/08(火) 20:54:12.50 ] boostのrandomで0以上1未満じゃなくて、 0より大きく1未満の乱数を作れませんか?
407 名前:デフォルトの名無しさん mailto:sage [2011/03/08(火) 21:17:48.07 ] 0が出たときだけもう一回まわせば良いんでね?
408 名前:デフォルトの名無しさん mailto:sage [2011/03/09(水) 12:53:47.39 ] 数式クラスとかってありませんか R言語並とはいいませんが、式の評価とか代入とか微積分とかあれば
409 名前:デフォルトの名無しさん mailto:sage [2011/03/09(水) 13:05:17.96 ] >>408 Rを呼び出した方が早くない?
410 名前:デフォルトの名無しさん mailto:sage [2011/03/10(木) 09:35:51.00 ] boost::python で sci.py 呼ぶ
411 名前:デフォルトの名無しさん mailto:sage [2011/03/10(木) 15:10:55.28 ] boost.pythonからrpyでR呼ぶ
412 名前:デフォルトの名無しさん mailto:sage [2011/03/10(木) 15:16:10.88 ] ウェブブラウザがjavascriptでなくてc++を直に実行してくれるの出るみたいだけど boostも使えるのかな
413 名前:デフォルトの名無しさん mailto:sage [2011/03/10(木) 15:57:19.46 ] スレ違い hibari.2ch.net/test/read.cgi/tech/1298614677/
414 名前:デフォルトの名無しさん mailto:sage [2011/03/10(木) 16:28:00.78 ] boost.FC++ って開発停止なの?
415 名前:デフォルトの名無しさん mailto:sage [2011/03/11(金) 12:12:04.64 ] boost protoで無限数列作るの無理なの?
416 名前:デフォルトの名無しさん [2011/03/13(日) 06:29:13.40 ] 1.46.1 Boost C++ Libraries www.boost.org/
417 名前:デフォルトの名無しさん mailto:sage [2011/03/22(火) 19:20:20.51 ] Macでboost扱う場合ってVisualStudioに相当するものないの?
418 名前:デフォルトの名無しさん mailto:sage [2011/03/22(火) 20:00:51.24 ] XCodeってのがそうなんじゃないの
419 名前:福盛俊明 [2011/03/23(水) 23:52:34.77 ] アハ〜♪”
420 名前:デフォルトの名無しさん [2011/03/28(月) 12:47:40.42 ] xcodeは糞だってじっちゃがいってた
421 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 19:45:09.25 ] >>820 は? お前ちょっとおかしいんじゃねーの? そんな事言ったら、男はスカート履いたり口紅塗ったりしたら いけないってこと???
422 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 20:14:35.77 ] どこの誤爆だよ
423 名前:デフォルトの名無しさん mailto:sage [2011/03/30(水) 12:55:32.68 ] いいけど近くに寄るな
424 名前:デフォルトの名無しさん mailto:sage [2011/03/30(水) 17:23:19.29 ] すごい美人になるなら、許す。
425 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 06:36:38.55 ] ここ死んでるんでwww.boostpro.com/download/ ここみつけた。boost.teeks99.com/
426 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 06:42:18.95 ] 死んでないぞ?
427 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 06:54:32.94 ] 500 Internal Server Error
428 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 06:55:29.53 ] Download does not exist! www.boostpro.com/download/boost_1_46_1_setup.exe
429 名前: ◆LLLLLLLLL. mailto:sage [2011/04/03(日) 08:55:02.65 ] | ̄:/ : : /: : : : : : : :i: : : i: :\ : :\ \ |: / : : : / : : : : :.i: : : : |: : : :|: : : |: : : i ' : :|: : : : |: : i: : : :|: : : /i|: : :|:| : : :|: : : | | : :|: : : : |: :.|:斗 十‐/ i|: :∧-‐ト|: : : | | : :|: : : : |イ|: :|:/ |:/ |:/ |ハ: : |: : : | \_,ノ : :|: : : : | レヤ示ト rテv|:./|: : : :| ヽ|: : : : |/{:::::::i } トイ レ: :|/|/ 関東地方 ( |: : : : 代c::ノソ レリ |: : : : | 東北地方 北海道地方 .〈.|: : : : |x`¨ 、¨x.|: : : i:| にいる \|i: : : :| , /|: : : i:| すべての 愛すべき 国民へ 告ぐ ∨リ\: :iト 、 `´ ィ |: : /|リ ‐┴―\|- 〈 >rァ 爪|V |/ :::::::::::::::::::::::ヽ \ リ ::::::::::::::::::::::::__\ :::::::::::::::/ ::r――‐へ rっr‐-、_ :::::::::/ ::// ∧. | ̄ ̄ ̄| | | | | ̄ ̄ ̄ ̄ ̄ ̄ ̄|.. :::/ ::/ / ヽ|. L|_|_ト' | / ::::/ / \ ただちに 逃げろ | . :::/ |/ | |
430 名前:デフォルトの名無しさん mailto:sage [2011/04/06(水) 15:56:15.32 ] 今boostを利用してシリアライズをしようと思っているのですが #include <boost/serialization/vector.hpp> #include <boost/serialization/deque.hpp> などをインクルードしようとすると >LINK : fatal error LNK1104: ファイル 'libboost_serialization-vc100-mt-gd-1_46_1.lib' を開くことができません。 というエラーが出てしまうのです。他の #include <boost/serialization/serialization.hpp> #include <boost/serialization/string.hpp> は問題なく通るのですが・・・いったい何が原因でしょうか?
431 名前:デフォルトの名無しさん mailto:sage [2011/04/06(水) 16:21:12.20 ] 事前にboostビルドしておけよ
432 名前:デフォルトの名無しさん mailto:sage [2011/04/06(水) 18:36:59.44 ] VC++ならビルド済みboostライブラリが自動インストールできると書かれていたのでそれを利用したのですが・・・
433 名前:デフォルトの名無しさん mailto:sage [2011/04/06(水) 18:47:36.90 ] libboost_serialization-vc100-mt-gd-1_46_1.libが存在する見てこい なかったら自分でビルドしろ
434 名前:デフォルトの名無しさん mailto:sage [2011/04/06(水) 19:07:30.14 ] libboost_serialization-vc100-mt-gd-1_46_1.libはlibフォルダにちゃんと存在するようです
435 名前:デフォルトの名無しさん mailto:sage [2011/04/06(水) 19:10:14.87 ] パス通ってないだけじゃねーか
436 名前:デフォルトの名無しさん mailto:sage [2011/04/06(水) 19:22:20.63 ] VC++のインクルードファイルにC:\Program Files\boost\boost_1_46_1を設定するだけではだめなのでしょうか?
437 名前:デフォルトの名無しさん mailto:sage [2011/04/06(水) 19:24:00.98 ] インクルードパスだけじゃなくてライブラリファイルも指定しろ ライブラリパスの方は~.libが置いてるフォルダな
438 名前:デフォルトの名無しさん mailto:sage [2011/04/06(水) 19:43:19.64 ] インクルードパス通ってないのになんでインクルード出来てないんだ? それともインクルードパスは通したがライブラリパスは通し忘れた or 存在を知らないってやつか?
439 名前:デフォルトの名無しさん mailto:sage [2011/04/06(水) 19:44:31.59 ] ライブラリディレクトリにlibが入っているファイルを追加しましたがエラーが消えないですね・・・
440 名前:デフォルトの名無しさん mailto:sage [2011/04/06(水) 19:54:50.84 ] libが入っている「フォルダ」を指定してみて
441 名前:デフォルトの名無しさん mailto:sage [2011/04/06(水) 20:44:26.30 ] 失礼、ファイルとフォルダを間違えてしまいました おお、上手くいきました!ありがとうございました なんか「std::streamsize' から 'size_t' への変換です。データが失われる可能性があります。」 みたいな警告が出てますけどこれは仕様なんですかね
442 名前:デフォルトの名無しさん mailto:sage [2011/04/06(水) 20:46:17.09 ] あ、これはboost/archive/binary_oarchive.hppの警告だったようです。申し訳ない
443 名前:デフォルトの名無しさん mailto:sage [2011/04/08(金) 03:47:53.82 ] 誘導されてきました。 hibari.2ch.net/test/read.cgi/tech/1297142195/589 お願いします。
444 名前:デフォルトの名無しさん mailto:sage [2011/04/08(金) 03:51:32.81 ] 書き忘れましたが、そのスレッドで指摘されているBOOST_PP_EQUALに数値を入れても解決されません。 コンパイラはVS2008を使っています
445 名前:デフォルトの名無しさん mailto:sage [2011/04/08(金) 04:01:00.43 ] すみません。 #include <boost/preprocessor/comparison/equal.hpp> をしたら自己解決しました。
446 名前:デフォルトの名無しさん mailto:sage [2011/04/16(土) 13:27:19.01 ] すみません serializeの侵入型 非侵入型って英語でなんて言いますか?
447 名前:デフォルトの名無しさん mailto:sage [2011/04/16(土) 15:39:30.60 ] intrusive/non-intrusive
448 名前:デフォルトの名無しさん mailto:sage [2011/04/17(日) 04:24:44.07 ] ありがとうございます!
449 名前:デフォルトの名無しさん mailto:sage [2011/04/21(木) 13:19:37.66 ] iphoneで動かないのなんてありました? mm経由でなんでも使えるっぽいですが
450 名前:デフォルトの名無しさん mailto:sage [2011/04/21(木) 13:31:12.82 ] https://svn.boost.org/trac/boost/ticket/5010 微妙にダメなのかな?
451 名前:デフォルトの名無しさん mailto:sage [2011/04/21(木) 15:24:04.84 ] BOOST_AUTO(xx , boost::fusion::list<double,int,double>(1.12, 3 ,3.4) ); エラーになる だめなのかな
452 名前:デフォルトの名無しさん mailto:sage [2011/04/22(金) 10:52:11.38 ] fusion便利だね CG関連のライブラリでしか使ってるのみたことないけど accumulaterも使ってるの?
453 名前:デフォルトの名無しさん mailto:sage [2011/04/22(金) 21:08:36.95 ] >>452 accumulators は知らんけど Spirit がばりばり使ってる。
454 名前:デフォルトの名無しさん mailto:sage [2011/04/25(月) 15:40:13.45 ] accumulatorに静的に代入した値って コンパイルタイムで計算される?
455 名前:デフォルトの名無しさん mailto:sage [2011/04/25(月) 21:15:57.16 ] void funcRef(shared_ptr<Hoge>& ref = shared_ptr<Hoge>()) {} デフォルト引数をヌルポインタにしたい場合、これって問題ないですか?
456 名前:デフォルトの名無しさん mailto:sage [2011/04/26(火) 00:21:13.07 ] >>455 ダメですな。 codepad.org/ivr7NQAk これならおk。 codepad.org/6cyqwPkA
457 名前:デフォルトの名無しさん mailto:sage [2011/04/26(火) 04:57:15.86 ] const shared_ptr<Hoge>& ref = shared_ptr<Hoge>()
458 名前:デフォルトの名無しさん mailto:sage [2011/04/26(火) 08:08:06.84 ] >>456 >>457 ありがとうございます。
459 名前:デフォルトの名無しさん mailto:sage [2011/05/01(日) 09:26:30.16 ] なんでconst要るのー?
460 名前:デフォルトの名無しさん mailto:sage [2011/05/01(日) 09:32:52.23 ] >>459 funcRef() の中でデフォルト指定された ref に値を設定することには意味が無いから、 そういうコードは書けないように言語のルールとして定められているのです。
461 名前:デフォルトの名無しさん mailto:sage [2011/05/02(月) 03:06:37.55 ] boost.pythonを使いたいのですがセットアップ法が分かりません 環境はWindowsとGCCです bootstrap.batを実行して、project-config.jamの内容を using gcc : 4.6.0 ; using python : 3.2 ; libraries = --with-python ; と変更してbjamを実行しましたが何かエラー(failing)が出てstage\libに何も生成されません どなたか教えてください
462 名前:461 mailto:sage [2011/05/02(月) 03:10:54.93 ] 二箇所あるエラー内容は次のようになっています gcc.compile.c++ bin.v2\libs\python\build\gcc-mingw-4.6.0\release\link-static\threading-multi\converter\builtin_converters.o libs\python\src\converter\builtin_converters.cpp: In static member function 'static std::wstring boost::python::converter::{anonymous}::wstring_rvalue_from_python::extract(PyObject*)': libs\python\src\converter\builtin_converters.cpp:436:32: error: cannot convert 'PyUnicodeObject*' to 'PyObject*' for argument '1' to 'Py_ssize_t PyUnicodeUCS2_AsWideChar(PyObject*, wchar_t*, Py_ssize_t)' gcc.compile.c++ bin.v2\libs\python\build\gcc-mingw-4.6.0\debug\link-static\threading-multi\converter\builtin_converters.o libs\python\src\converter\builtin_converters.cpp: In static member function 'static std::wstring boost::python::converter::{anonymous}::wstring_rvalue_from_python::extract(PyObject*)': libs\python\src\converter\builtin_converters.cpp:436:32: error: cannot convert 'PyUnicodeObject*' to 'PyObject*' for argument '1' to 'Py_ssize_t PyUnicodeUCS2_AsWideChar(PyObject*, wchar_t*, Py_ssize_t)'
463 名前:デフォルトの名無しさん mailto:sage [2011/05/06(金) 00:09:52.31 ] Adobe って Boost使ってたんだな 俺も勉強しようかな
464 名前:デフォルトの名無しさん mailto:sage [2011/05/06(金) 09:18:56.65 ] 他の人と同じ道具使いたがる男の人って・・・
465 名前:デフォルトの名無しさん mailto:sage [2011/05/06(金) 16:05:30.62 ] 協調性高そうでいいよね
466 名前:デフォルトの名無しさん [2011/05/06(金) 16:19:08.01 ] ワロタ
467 名前:デフォルトの名無しさん mailto:sage [2011/05/06(金) 19:16:48.94 ] Boostってなんで オブジェクト.メンバ関数() じゃなくて 関数(オブジェクト)型が多いの?
468 名前:デフォルトの名無しさん mailto:sage [2011/05/06(金) 19:49:46.40 ] 性的に解決できるようにじゃない
469 名前:デフォルトの名無しさん mailto:sage [2011/05/06(金) 20:30:45.77 ] 性的にねえ
470 名前:デフォルトの名無しさん mailto:sage [2011/05/06(金) 21:12:51.90 ] オブジェクトが対応するメンバ関数を持っていなくても フリー関数ならメンバ関数がなくても「デフォルト実装」にフォールバックできる。 後から専用の処理を追加・削除しても呼び出し側はソースを編集しなくてもいい。 引数の暗黙の変換を利用することもできる。 組み込み型に対しても同じ書式を適用できる。 と色々メリットがある。
471 名前:デフォルトの名無しさん mailto:sage [2011/05/06(金) 21:44:27.93 ] public操作だけで済むなら、カプセル化の観点からも 性的外出しユーティリティが良いってメイヤーズおじちゃんがゆってた
472 名前:デフォルトの名無しさん mailto:sage [2011/05/06(金) 21:44:32.30 ] あり^^
473 名前:デフォルトの名無しさん mailto:sage [2011/05/07(土) 01:37:20.43 ] フリー関数でもfriend使えばprivateメンバにアクセスできるしね。 実はメンバ関数は要らない子のような気がしてきた。
474 名前:デフォルトの名無しさん mailto:sage [2011/05/07(土) 04:20:52.49 ] ハーブ・サッターも非メンバ関数を勧めてるな
475 名前:デフォルトの名無しさん mailto:sage [2011/05/07(土) 05:25:58.44 ] メンバ関数ちゃんを仲間外れのするのはやめろよー
476 名前:デフォルトの名無しさん mailto:sage [2011/05/07(土) 13:43:02.91 ] プログラミング言語C++第3版でも、メンバ関数はできる限り privateにすべし、って話があるな
477 名前:デフォルトの名無しさん mailto:sage [2011/05/07(土) 15:34:37.82 ] もはやなんのためのOOPかわからんな
478 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 01:20:12.57 ] 構造化のために決まってんだろ
479 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 22:48:51.05 ] メソッドを全部privateにしたらどこからアクセスするん?
480 名前:デフォルトの名無しさん mailto:sage [2011/05/09(月) 16:14:04.76 ] >>479 インターフェースはprivateにしないとおもうけどなあ。 >>477 継承はOOPの本質じゃないんじゃないかな? ポリモがどうしても必要なとき意外使うなって事だと思うんだけど。
481 名前:デフォルトの名無しさん mailto:sage [2011/05/14(土) 01:41:27.26 ] こんにちわ。 質問していいですか? >>24 で書いてあるような、 「この機能を使うためにはこのライブラリをリンクする必要があるよ。」 みたいな情報ってどこに書いてありますか? 公式のThreadのドキュメントみてもそれっぽいの無かったですよ。
482 名前:デフォルトの名無しさん mailto:sage [2011/05/14(土) 16:10:21.87 ] 俺は英文で見かけたよ。どこだか忘れたが。 dll名でググってみれば?
483 名前:デフォルトの名無しさん mailto:sage [2011/05/14(土) 20:39:49.15 ] Boost1.46.1ちゃんのRegexをSTLPortでBuild(Linux)するとエラー吐いちゃうけどどうしたらいいの?
484 名前:デフォルトの名無しさん mailto:sage [2011/05/14(土) 22:24:45.89 ] >>482 個人で運営なさっている解説サイトとか、メーリング リスト等には書いてあるんですけど、もう少しオフィ シャルな情報が欲しいじゃ無いですか。 そう考えて公式サイトを読んでいたんですけど、私の 拙い英語力と集中力じゃさっぱりでした。
485 名前:デフォルトの名無しさん mailto:sage [2011/05/14(土) 22:41:30.83 ] Getting Started の Library Naming 書いてあるだろう
486 名前:デフォルトの名無しさん mailto:sage [2011/05/14(土) 22:58:08.96 ] >>485 ありました!有り難うございます!「6.3 Library Naming」にありましたよ!! Getting Startの最初のページの右下のNext:の部分を見逃してました。 命名規約からライブラリのファイル名を導き出してたんですね。 jamfaileのコメントとかを必死に翻訳していた自分が情けないです。 有難うございました。
487 名前:デフォルトの名無しさん mailto:sage [2011/05/15(日) 09:11:00.23 ] Boost Graphに巡回セールスマン問題を解ける アルゴリズムがあったら名前を教えて欲しい
488 名前:デフォルトの名無しさん mailto:sage [2011/05/15(日) 09:44:19.53 ] >487 近似解で良ければ metric_tsp_approx
489 名前:デフォルトの名無しさん mailto:sage [2011/05/15(日) 09:45:08.77 ] >>488 ありがと!
490 名前:デフォルトの名無しさん [2011/05/20(金) 06:15:31.08 ] >>480 〉継承はOOPの本質じゃないんじゃないかな? :(;゙゚'ω゚'):マジで……?
491 名前:デフォルトの名無しさん mailto:sage [2011/05/20(金) 10:54:00.91 ] ja.wikipedia.org/wiki/ オブジェクト指向#オブジェクト指向プログラミングの構成要件 情報隠蔽 - これは古典的な可視性の定義である。(?) *旧来の多くのオブジェクト指向言語が備えている性質 継承 - クラスベースのオブジェクト指向に固有の概念である。 多態性 - プロトタイプベースのオブジェクト指向の場合では関係がない概念とされる。 動的束縛 - これはオブジェクト指向の本質的な概念ではあるが、実行時性能に制約が生じる為、この特性を備えていないオブジェクト指向言語もある。 だと。
492 名前:デフォルトの名無しさん mailto:sage [2011/05/20(金) 12:02:46.37 ] で、C++でクラスベースなBoostだと何がどうだと?
493 名前:デフォルトの名無しさん mailto:sage [2011/05/20(金) 12:12:29.26 ] >>490 480ではないが、継承がやってることといえば polymorphismの実装 基底のコードの流用 だけだからな これらがそれぞれ別の手段で実現できれば継承はなくてもいいと思う と俺が思ってるだけで一般的には継承はOOPの重要な要素だけどね
494 名前:デフォルトの名無しさん mailto:sage [2011/05/20(金) 13:39:21.05 ] データとアルゴリズムの論理的結合があればOOPと言える。 「動的な」結合が必要かどうかは言語によるのではないかと思う。
495 名前:デフォルトの名無しさん mailto:sage [2011/05/20(金) 14:24:28.46 ] そうだよなー。 それぞれアトミックな概念かもよく分からずに、仮想関数は静的に型付けされた動的束縛だから、仮想関数や抽象(インターフェース)クラスはC++のOOPの本質のひとつじゃね?って感じで深みにハマって結局訳わかめになる。
496 名前:デフォルトの名無しさん mailto:sage [2011/05/20(金) 15:36:30.29 ] Data + Algorithm = Programと言えばニクラウス・ヴィルトだが、要はオブジェクトとは データとアルゴリズムのまとまった単位、即ち一つの完結した部分プログラムであって、 それの寄せ集めが全体としてのプログラムであるという観点および方法論のことを オブジェクト指向と呼んでいるのだと思う。 それとは別にストラウストラップがカプセル化・継承・多態性をC++言語による オブジェクト指向サポートの基本要素としたのは一つレイヤーの上がる話だ。 // ちょっとBoostとは関係ない話になったが
497 名前:デフォルトの名無しさん mailto:sage [2011/05/21(土) 04:37:29.17 ] 複数人で開発するようになると、 継承はコードが読みづらくなるから避けてほしい。
498 名前:デフォルトの名無しさん mailto:sage [2011/05/21(土) 04:37:53.91 ] IF継承は別ね。
499 名前:デフォルトの名無しさん mailto:sage [2011/05/21(土) 09:59:29.67 ] クラス構成が仕様で決まってないってことか 問題はむしろそっちだな
500 名前:デフォルトの名無しさん mailto:sage [2011/06/02(木) 17:39:21.54 ] boostのtrunk面白いなぁ bjamに--without-mpi付けてたのにmpiのライブラリできた
501 名前:デフォルトの名無しさん mailto:sage [2011/06/02(木) 18:13:44.93 ] もしかして:Jamfileのバグ
502 名前:デフォルトの名無しさん mailto:sage [2011/06/03(金) 21:52:25.68 ] shared_ptrつかいまくりのプログラムで問題が無いか調べるにはどうしたらいいですか? プログラム終了時に例外とメモリリークでなければOK?
503 名前:デフォルトの名無しさん mailto:sage [2011/06/04(土) 00:16:10.77 ] 終了時に全部開放されてるか調べる。 終了順に依存関係があるものは設計で対応してあるか確認する。 こんなもんじゃね。楽するためのものだから、判ってて使ってるなら気にしなくていいとおもうが。 心配なら、全部resetしたらw
504 名前:デフォルトの名無しさん mailto:sage [2011/06/04(土) 18:26:55.96 ] >>503 ありがとうございます
505 名前:デフォルトの名無しさん mailto:sage [2011/06/07(火) 19:04:36.62 ] boost::shared_ptrのデリーターを一旦取り出して開放時の処理を追加してまた元に戻す、みたいな事したいんだけど出来ますか? shared_ptr<Hoge> hoge; HogeRegistry hogeReg; hogeReg.insert(hoge.get()); // ライブラリの都合上生ポインタしか登録できない。ので、ここでhogeのデリーターに新たにhogeReg.erase(hoge.get())に相当する処理を追加したい
506 名前:デフォルトの名無しさん mailto:sage [2011/06/07(火) 19:13:08.40 ] HogeRegistoryをラップするクラス作った方がいいんじゃないか?
507 名前:デフォルトの名無しさん mailto:sage [2011/06/07(火) 20:19:29.36 ] そんなコンテナ捨てちまえ
508 名前:デフォルトの名無しさん mailto:sage [2011/06/07(火) 22:20:38.76 ] っ template<class Y, class D> shared_ptr(Y * p, D d); Effects: Constructs a shared_ptr that owns the pointer p and the deleter d.
509 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 01:35:32.50 ] >>505 できた。 codepad.org/rQiAg0yO けど、 >>507 のほうが正しい気がする。
510 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 10:06:56.11 ] >>509 なるほど、別のスマポを作ってしまうというのは盲点でした
511 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 10:20:29.14 ] 盲点て shared_ptr捨てるとかないわ
512 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 21:33:22.84 ] シェアポ
513 名前:デフォルトの名無しさん mailto:sage [2011/06/09(木) 11:06:07.76 ] vector<any> の中身を順番にostreamに突っ込みたいんですが, 組み込み型ならある程度typeごとに条件わけで書けるのはわかるんですが, ユーザー定義型の場合はどうやって動的にany_castしたら良いんでしょう?? placeholderのtype()に合うように自動的にcastってできるんでしょうか. 初心者ですいませんorz
514 名前:デフォルトの名無しさん mailto:sage [2011/06/09(木) 19:35:19.60 ] >>513 作ったクラスに<<をオーバーロードすればいいじゃない
515 名前:デフォルトの名無しさん mailto:sage [2011/06/09(木) 20:13:21.12 ] >>514 初級者なのでよくわかっていないのですが, class A; vector<any> b; b.push_back( A() ); みたいにしたあと,any_cast<A>を正しくするにはどうしたらいいのか… せめてfor_each( any &a in b ) cout << any_cast< a.type() >(a); みたいな事ができるといいのですが…
516 名前:513 mailto:sage [2011/06/09(木) 22:21:11.39 ] 動的にany_castする方法はわからなかったですが, やりたいこと自体は基底にオペレータを定義して, あとは多態性で解決できました. できてみれば簡単でした…なんで思いつかなかったんだろう... ありがとうございました.
517 名前:デフォルトの名無しさん mailto:sage [2011/06/09(木) 23:19:22.71 ] >513 静的な解決はできないから動的なマルチディスパッチしかない。 多態で済むんだったら、普通に基底ポインタで保持したら?
518 名前:513 mailto:sage [2011/06/10(金) 11:36:36.57 ] >> 517 静的にはムリなんですね.そりゃそうか... それで行きます!
519 名前:デフォルトの名無しさん mailto:sage [2011/06/14(火) 00:01:56.65 ] property_treeのiniファイルパーサーですけど、セクションとキーの文字列を 大文字小文字の区別をつけないようにできないんでしょうか? APIのGetPrivateProfileString()は、大文字小文字の区別が無かったので すでにあるINIファイルをこれで読み込もうとすると、大文字だったり小文字 だったりするので、設定が見つからなかったりするんです。
520 名前:デフォルトの名無しさん mailto:sage [2011/06/14(火) 08:27:27.95 ] >>519 basic_ptree の第 3 テンプレートパラメータで大文字小文字無視する比較を渡せばいいんじゃないかな。
521 名前:デフォルトの名無しさん mailto:sage [2011/06/14(火) 08:36:03.92 ] 同じことだけど ptree → iptree (wptree → wiptree)
522 名前:デフォルトの名無しさん mailto:sage [2011/06/14(火) 09:04:35.81 ] property_treeもう手放せないんだけど、-O3でバイナリが 数100k膨れ上がるのは何とかならんのか
523 名前:デフォルトの名無しさん [2011/06/14(火) 21:45:32.04 ] >>521 やってみます!ありがとうございます。
524 名前:uy mailto:sage [2011/06/21(火) 07:11:35.99 ] 素晴らしい言語だな・・・・・
525 名前:uy mailto:sage [2011/06/21(火) 07:41:23.38 ] 【ノード】uyプログ... Part4.0【更なる未来】 hibari.2ch.net/test/read.cgi/prog/1306135242/ ゴミが積もって四スレ目
526 名前:uy mailto:sage [2011/06/21(火) 15:51:38.99 ] ゴミみたいなスレだな・・・・
527 名前:デフォルトの名無しさん mailto:sage [2011/06/29(水) 17:25:25.50 ] 1.47期待hosyu
528 名前:デフォルトの名無しさん mailto:sage [2011/06/30(木) 00:32:47.62 ] geometry楽しみ
529 名前:デフォルトの名無しさん mailto:sage [2011/06/30(木) 06:53:43.21 ] >>528 なんも動きがないんだが大丈夫なのかアレ
530 名前:デフォルトの名無しさん mailto:sage [2011/07/02(土) 23:23:39.21 ] 新機能をブリーフィングして俺をワクワクさせろ
531 名前:デフォルトの名無しさん mailto:sage [2011/07/02(土) 23:26:20.96 ] もうちょっとコンパイル早くしてくれませんか?
532 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 01:27:40.58 ] TMP使うソースのコンパイルは 指示する度にうんこしてこれる
533 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 07:55:11.52 ] Boost.CompilationFirewall
534 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 12:31:34.50 ] マルチコアCPU使ってる場合はコンパイラオプションに/MP付ければ多少速くなるよ
535 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 08:18:42.24 ] boostにマルチスレッド対応コンテナってある?
536 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 21:13:20.99 ] lockfreeコンテナのことなら今レビュー中だったかな?
537 名前:デフォルトの名無しさん [2011/07/12(火) 17:23:37.47 ] Version 1.47.0 www.boost.org/users/history/version_1_47_0.html
538 名前:デフォルトの名無しさん mailto:sage [2011/07/13(水) 22:55:11.55 ] <boost/archive/binary_iarchive.hpp>を使用すると警告が出てくるのですがこれはどうにもならないのでしょうか インクルードしているだけで出てくるのでコードが悪いわけではなさそうですが・・・
539 名前:デフォルトの名無しさん mailto:sage [2011/07/13(水) 22:56:18.32 ] 警告なら非表示にすればいいだろ
540 名前:デフォルトの名無しさん mailto:sage [2011/07/13(水) 23:00:22.26 ] んー、そうなんですけど利用したらなんかバグとか出そうで心配なのですが・・・ データが失われる可能性とか出てるので
541 名前:デフォルトの名無しさん mailto:sage [2011/07/13(水) 23:07:01.70 ] そんな餌に俺はつられんぞ
542 名前:デフォルトの名無しさん mailto:sage [2011/07/13(水) 23:57:17.82 ] いやいや、まじめに
543 名前:デフォルトの名無しさん mailto:sage [2011/07/14(木) 01:29:57.03 ] とりあえず、どんな警告が出てくるか位ははろうぜ
544 名前:デフォルトの名無しさん mailto:sage [2011/07/14(木) 01:36:18.29 ] そうですね。申し訳ない 長かったのでこちらに ttp://codepad.org/ylgwJM88
545 名前:デフォルトの名無しさん mailto:sage [2011/07/14(木) 01:38:01.28 ] >>544 std::streamsizeってstd::size_tのtypedefだったと思うけどどうしてそれに対する警告が出てるの?
546 名前:デフォルトの名無しさん mailto:sage [2011/07/14(木) 01:45:06.68 ] さぁ・・・自分ではなんとも boostの中を見てもさっぱり
547 名前:デフォルトの名無しさん mailto:sage [2011/07/14(木) 03:24:52.14 ] >>538 ,544 streamsize は size_t 以下の精度とは限らないからね。 https://svn.boost.org/trac/boost/search?q=streamsize+size_t 報告されてはいないみたいだから、 1.47 で試してまだ出るようなら Trac へ Go
548 名前:デフォルトの名無しさん mailto:sage [2011/07/14(木) 14:08:54.03 ] どうやら1.47でも出るみたいですね ・・・しかし英語ができなくて報告の仕方がわからない
549 名前:デフォルトの名無しさん mailto:sage [2011/07/14(木) 16:41:24.32 ] う〜BOOST_FOREACHって意外と遅かったのねぇ、便利だから使い過ぎてしまったよ 書き直しorz
550 名前:デフォルトの名無しさん mailto:sage [2011/07/14(木) 16:48:14.75 ] 問題になるほど遅い印象はないけどな
551 名前:デフォルトの名無しさん mailto:sage [2011/07/14(木) 19:51:12.74 ] >>594 何年も前の話だけど、BOOST_FOREACH のコンパイルされたアセンブラコードを見て、 あまりのひどいコードに愕然としたことがあったよ。 以来使っていない。
552 名前:デフォルトの名無しさん mailto:sage [2011/07/15(金) 00:27:44.82 ] foreachならopenmpやtbbにもあったと思うのでそっち使ってみてはどう?
553 名前:デフォルトの名無しさん mailto:sage [2011/07/15(金) 19:42:28.31 ] そんなんあったっけ? 見当たらぬ・・・
554 名前:デフォルトの名無しさん mailto:sage [2011/07/15(金) 21:51:05.85 ] eetimes.jp/content/3156 parallel-for.sourceforge.net/tbb.html 公式ドキュメントは日本語検索だと出づらいが、サンプルコードは出てくるぞ
555 名前:デフォルトの名無しさん mailto:sage [2011/07/17(日) 22:00:44.81 ] xpressive_static.hppをプリコンパイルに入れただけでpchが40MB以上膨らんだでござる
556 名前:デフォルトの名無しさん mailto:sage [2011/07/17(日) 22:03:18.06 ] boostの中の人って頭いいのにアホなのかな あの技術と熱意を新低級言語開発に回してたらいまごろとっくにもっと便利なもんできてただろ
557 名前:デフォルトの名無しさん mailto:sage [2011/07/17(日) 22:25:23.28 ] D言語の二の舞になるだけだろ
558 名前:デフォルトの名無しさん mailto:sage [2011/07/17(日) 22:32:27.26 ] 言語の核の部分は人数多くてもしょうがない。 重要なのは汎用性と一貫性で、技術と熱意は邪魔なだけ。 低級言語ならForth最強だろ。
559 名前:デフォルトの名無しさん mailto:sage [2011/07/17(日) 22:57:03.18 ] ジェネリックな低級llvm言語、その名はclay
560 名前:デフォルトの名無しさん mailto:sage [2011/07/20(水) 21:39:22.18 ] property_treeのini_parserなんですが、XP以降だと問題ないのですが Win2kだと正しくiniファイルが読み込めないのですが、対応してないって ことでしょうか?
561 名前:デフォルトの名無しさん mailto:sage [2011/07/20(水) 21:57:19.39 ] どんなふうにできないのか?
562 名前:デフォルトの名無しさん mailto:sage [2011/07/20(水) 22:01:58.89 ] Boost::pythonの質問はココで良いですか?
563 名前:デフォルトの名無しさん mailto:sage [2011/07/20(水) 22:18:35.25 ] >>561 Win2kのPCにVSが入ってないんで、まだ詳しく見れてません。 ただ、現象的には、 ・セクションが見つからない ・キーが見つからない ・イコール(=)の後に文字列がない のいずれかですね。 この場合は、デフォルト文字列になるようにしてるんですが、 読み出そうとしている文字列がすべてデフォルトになっちゃってるんで。
564 名前:デフォルトの名無しさん mailto:sage [2011/07/22(金) 22:07:40.02 ] >>560 自己レスです。 Win2kの問題では無く、ファイルのパス名に日本語を含んでいるためでした。 read_iniで直接ファイル名を指定せずに、ifstreamで開いてからそのストリームを read_iniに指定することにしました。
565 名前:デフォルトの名無しさん mailto:sage [2011/07/23(土) 02:01:43.28 ] >>556 boostより便利なものってなんだよw
566 名前:デフォルトの名無しさん mailto:sage [2011/07/23(土) 04:24:22.55 ] いい加減boost.GUIを作れよ
567 名前:デフォルトの名無しさん mailto:sage [2011/07/23(土) 07:01:26.61 ] >>565 python最強
568 名前:デフォルトの名無しさん [2011/07/24(日) 01:16:39.11 ] >>566 やってみろ そして、どこが「boost」なのか説明してくれ
569 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 01:20:20.78 ] >>567 そのうちC++でboost使うほうが楽になるよ。
570 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 14:35:01.36 ] GUIはどうすんの
571 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 17:51:44.10 ] wxWidgets
572 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 18:41:46.88 ] wxWidgets って Boost 版あったっけ
573 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 18:51:49.10 ] っていうかwxWidgets使ってるとBoostいらねって思うわw
574 名前:デフォルトの名無しさん mailto:sage [2011/07/27(水) 15:45:22.63 ] c++0xのlambdaと同じ様なものは boost組み合わせてできないものでしょうか _1 じゃなくて x とか変数に使いたい
575 名前:デフォルトの名無しさん mailto:sage [2011/07/27(水) 19:05:09.41 ] shared_ptrってマクロでマルチスレッドをONOFFできるけど ONのshared_ptrとOFFのshared_ptrを共存させるのってアリなの?
576 名前:デフォルトの名無しさん mailto:sage [2011/07/27(水) 20:54:57.72 ] >>575 ない
577 名前:デフォルトの名無しさん mailto:sage [2011/07/27(水) 22:02:54.24 ] >>574 _1 の別名として使えればいいだけなら boost::lambda::placeholder1_type X; とすれば X が _1 と同じように使える。 Boost Phoenix で似たようなことしつつ let 使った方がもう少し望みに近くなるかもしれない。
578 名前:デフォルトの名無しさん mailto:sage [2011/08/11(木) 19:09:09.86 ] BOOST_CHRONO_HEADER_ONLY マクロ有効にしても.libリンクしろって怒られます date_timeとかは普通にヘッダオンリで使えてるんですけど、Chronoの場合なんか他に必要なんですか?
579 名前:デフォルトの名無しさん mailto:sage [2011/08/11(木) 19:31:03.92 ] 自己解決しました BOOST_SYSTEM_NO_LIB と BOOST_ERROR_CODE_HEADER_ONLY も有効にしたらできました・・・ もっと調べてから聞くべきだった
580 名前:デフォルトの名無しさん mailto:sage [2011/08/18(木) 11:43:35.00 ] c++0x確定でboostもいろいろ影響うけるかな
581 名前:デフォルトの名無しさん mailto:sage [2011/08/24(水) 11:13:47.94 ] https://gist.github.com/1167135 spirit 試してみてます 上記のコードで helper って関数書かないで、 39 行目みたいにしたいんだけど、うまく書く方法ありませんか?
582 名前:デフォルトの名無しさん mailto:sage [2011/08/26(金) 14:22:00.42 ] 復帰
583 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 16:25:44.13 ] matlabとか他の計算結果を全部ublasの形式に合わせて出力してるんだが 単純に数値並べただけの方が便利だったりするのかな
584 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 21:45:43.13 ] >>583 その計算結果の用途によるとしか…… ublasへの入力が多いならそれでいいんじゃね?
585 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 05:28:57.20 ] もっと背景を書いてくれないと答えようがないな
586 名前:デフォルトの名無しさん mailto:sage [2011/08/31(水) 03:17:50.94 ] boostでシリアライズしてたんだけどエラーがどうしても消えなかったんだ それでいろいろやってたら出なくなったんだがその内容が friend class boost::serialization::access; template<class Archive> void serialize( Archive& ar, unsigned int ver ) { ar & string型; ar & string; ar & int; ar & int; ar & int; ar & int; } の並びを ar & int; ar & string型; ar & int; ar & string; ar & int; ar & int; にしたらエラーが出なくなった。原因は何なんだろう
587 名前:デフォルトの名無しさん mailto:sage [2011/08/31(水) 03:28:52.43 ] >>586 ↓こっち行け hibari.2ch.net/test/read.cgi/tech/1187922645/
588 名前:デフォルトの名無しさん mailto:sage [2011/08/31(水) 09:40:03.66 ] >>586 エラーの内容も書かずに云々
589 名前:デフォルトの名無しさん [2011/09/01(木) 21:32:00.35 ] boost::property_tree で要素の削除ってどうやってするんでしょうか? たぶんeraseだとは思うんですがうまくいきません。
590 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 17:34:26.96 ] www.kmonos.net/alang/boost/classes/asio.html をみてasioでwebサイトからデータを取得しています ip::tcp::iostream s( "www.boost.org", "http" ); によって作られたsはs << flush;を実行した時点で通信が開始されていると思いますが while( getline(s, line) ) cout << line << endl; によってデータを受信した後sを再利用するとこはできませんか? 質問するところが間違っていたらすいません
591 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 04:45:04.36 ] boost:threadに関する質問です スレッドを作って内部で勝手に処理させるクラスを作っています class test { boost::thread thr; void start(){ thr = boost::thread(func); } void stop(); } のようにして生成したスレッドのコピーをメンバ変数に保存してい置くのはまずいでしょうか 一応boost::thread(func)がスコープを外れて破棄されても動作するようですがどうなのでしょうか
592 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 08:59:00.97 ] >>591 別にまずくはない。 boost::threadのデストラクタはdetach()を呼び出す。つまり、threadオブジェクトと スレッドの寿命は同期していないし、スレッドが終わるまで待ってくれたりもしない。 同期させたければthreadオブジェクトを破棄する前にスレッド関数を抜けるように フラグやcondition_variable等で指示しておき、(thread::join()等で)スレッドが終了した事を確認してから、 threadを破棄する必要がある。
593 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 14:55:53.84 ] >>589 自己レスです。 実際には、iniファイルの読み書きで使ってるんですが、 セクションごと消すのは出来るんですが、その中のあるキー設定を 消すと、write_ini()で例外が発生してしまいます。 だれかご存じないでしょうか?
594 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 15:06:36.43 ] >>593 さらに自己レス。 [Section] Key1=1234 Key2=9876 と有ったときにKey2は消せるんですが、Key1を消すと、write_ini()パーサーで 例外が発生します。 これって、write_ini()のバグ?
595 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 20:03:55.89 ] >>594 またまた自己レスです。 どうも、erase()またはwrite_???()がバグっているように思える。 iniパーサーでなくて、xmlやjsonパーサーでもerase()してwriteすると おかしくなる。erase()したあと、ptreeをたどるとeraseしなかった要素は 残っているようなので、write_???()がくさい。
596 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 20:07:12.19 ] コード書けや
597 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 20:11:17.10 ] >>595 やっぱerase()がおかしい。earse()したあと別のptreeにコピーすると 異常が出てしまう。(clone()ルーチンで) erase()は使えないなぁ。 これ、ptreeってmulti_index_containerですよね。そっちもバグってるってことか?
598 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 20:16:43.56 ] >596 ptree pt; read_ini("hoge.ini", pt); ptree& n1 = pt.get_child("Section"); ptree::assoc_iterator it = n1.find("Key1"); if (it != n1.not_found()) { write_ini("hoge.ini", pt); } <hoge.ini> #================= [Section] Key1=1234 Key2=ABCDE #=================
599 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 20:21:26.46 ] >>598 すまん。肝心のerase()が抜けてたorz ptree pt; read_ini("hoge.ini", pt); ptree& n1 = pt.get_child("Section"); ptree::assoc_iterator it = n1.find("Key1"); if (it != n1.not_found()) { pt.erase(n1.to_iterator(it)); write_ini("hoge.ini", pt); } <hoge.ini> #================= [Section] Key1=1234 Key2=ABCDE #=================
600 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 20:51:46.57 ] このコードでどうだろうか ptree pt; read_ini("hoge.ini", pt); ptree::assoc_iterator it = pt.find("Section"); if (it != pt.not_found()) { it->second.erase("Key1"); write_ini(std::cout, pt); }
601 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 08:06:09.21 ] >>600 おお!うまくいきました! ありがとうございました。 なるほど、最下層の要素を削除するときはこうしないといけないんですね。 boostにも削除のサンプルを入れて欲しいな〜。
602 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 08:08:44.87 ] 常識だから入れなかったんじゃない?
603 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 09:14:40.07 ] 結局、キーの方も find()で探して、もしあれば、そのイテレータを使って ptree::assoc_iterator it2 = it->second.find("Key1"); if (it2 != it->second.not_found()) { it->second.erase(it->second.to_iterator(it2)); } として消すようにしました。 まあ、例外で受けていいのですが他の処理もあるので。
604 名前:デフォルトの名無しさん [2011/09/06(火) 11:49:02.47 ] リンクエラーが出て先に進めないのでご存知の方がいたら教えて下さい。 環境 Visual C++ 2008 boost Ver.1_46_0 C:\>cl /EHsc test.cpp とコンパイルしたら LINK : fatal error LNK1104: ファイル 'libboost_thread-vc90-mt-s-1_46.lib' を開くことができません。 と出力されました。 また、以下のサイトでlibboost_thread-vc90-mt-s-1_46.libらしきファイルをDLできたので、 \boost_1_46_0\stage\lib配下にコピーしましたが結果同じでした。 hg.splayer.org/splayer/src/3fe3f0a75e68/lib/boost/ ソースファイルは以下のようなファイルです。 #include <iostream> #include <boost/thread.hpp> using namespace std; using namespace boost; void func(){ } void main(){ thread threadA(func); threadA.join(); } ご教授お願いします。 m(__)m
605 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 11:58:31.75 ] 突っ込んだ所で追加のライブラリ ディレクトリに入ってなきゃダメだろ
606 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 12:51:54.38 ] つwww.kmonos.net/alang/boost/install.html
607 名前:604 [2011/09/06(火) 14:27:03.46 ] >>605 >>606 ありがとうございます m(__)m 自動インストーラでboost_1_47を再インストールしたあと、 vsvars32.batに @set LIB="C:\boost_1_47\lib";C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB;%LIB% も追加したらリンク通るようになりました。
608 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 04:08:47.89 ] www.kmonos.net/alang/boost/classes/asio.html ではgetlineによって1行づつしか読んでいませんが char *buf = new char[size]; s.read(buf,size); のようにして一気に読み込みたいのですがどうすればいいでしょうか
609 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 00:07:38.37 ] フェニックスがFC++の後継だそうだけど いろんな意味で中途半端すぎないか それともこれから発展していくのだろうか
610 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 01:17:16.20 ] arrayって宣言時以外に入力するには1つずつ入れないとダメ? 面倒くさいんだけど
611 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 01:45:29.28 ] assignとかなかったっけ
612 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 02:39:33.09 ] おぉ、arrayにも使えたのか
613 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 21:55:59.68 ] VS2005使ってるのですがboostが正しくインストールされてるか簡単に確かめる方法ないですか?
614 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 11:54:58.40 ] memoizationをtemplate使って汎用に書いた関数ってなかったでしょうか
615 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 13:57:11.65 ] pstadeのmemoizedぐらいしかしらん
616 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 10:42:28.53 ] p-stade.sourceforge.net/oven/doc/html/index.html これいいな 早く公式にとりこまれないかな
617 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 11:58:01.13 ] 2chの過去ログみたら eggが誰もレビューされないでレジェクトだって? 公式の説明はどうなってるの 今ならレビューするのに
618 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 12:32:36.15 ] >>617 ja.lmgtfy.com/?q=boost+review+egg
619 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 13:12:27.24 ] 一度レビューに上ったこともあるんだぜ。 あまりにもレビュー数が少なかったので、落とされたが。
620 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 13:38:38.71 ] なんでドキュメント改良して再チャレンジって話にならなかったの?
621 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 15:00:38.77 ] 本人が長いこと更新してないみたいだし 誰かが本人と連盟扱いでドキュメント更新したものを再チャレンジしたらダメなのかな?
622 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 16:11:38.71 ] VS2008ではワーニングが出なかったんだが、VS2010にすると C4503 装飾された名前の長さが限界を超えました っていっぱい出るんだが、どうすればワーニングが出ないようにできるんでしょうか? コンパイルそのものは、正常終了してます。
623 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 18:19:11.04 ] boost-coroutineはx84-64で動かないって本当ですか? 2010年にバージョンアップしたみたいですが x84-64で動かないってコメントみかけるのが2009年より前のものばかりなので ひょっとして改善したのかと
624 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 19:46:32.94 ] 試してみてくれ 俺も気になる
625 名前:デフォルトの名無しさん mailto:sage [2011/09/30(金) 00:13:17.37 ] そんな事より大変だよおまえら progress_displayさんがdeprecatedされるって
626 名前:デフォルトの名無しさん mailto:sage [2011/09/30(金) 00:52:26.07 ] 奇跡のような存在だったからな。
627 名前:デフォルトの名無しさん mailto:sage [2011/09/30(金) 07:13:20.60 ] progress_displayさんはboostの癒しキャラ 技巧凝らしたソースばかり見ていたら疲れるだ
628 名前:progress_display mailto:sage [2011/09/30(金) 21:19:30.73 ] みんな反対してよ(´;ω;`)
629 名前:デフォルトの名無しさん mailto:sage [2011/09/30(金) 21:26:13.06 ] progress_displayに 呼び出し元プロセスとの進捗状況をやりとりする機能を実装し そのプロトコルも規格化したりすると延命できるのかな。
630 名前:デフォルトの名無しさん mailto:sage [2011/09/30(金) 21:34:09.65 ] progress_displayやprogress_timerの実装に使われてる大元のBoost.Timerの刷新のついでだからどうしようもないな
631 名前:progress_display mailto:sage [2011/09/30(金) 21:57:09.32 ] 何でみんなそんなに冷静なのっ!?
632 名前:デフォルトの名無しさん mailto:sage [2011/10/01(土) 08:36:25.31 ] 来るべき時が来たって感じだから…
633 名前:デフォルトの名無しさん mailto:sage [2011/10/01(土) 10:52:59.90 ] この際eggやovenをだな
634 名前:デフォルトの名無しさん mailto:sage [2011/10/01(土) 13:07:50.36 ] レビューがBoostConと重なったためにまともに評価されなかったんだよね>egg どう考えてもovenの方がrangeexより優れてる筈なのに・・・どうしてああなった
635 名前:デフォルトの名無しさん mailto:sage [2011/10/01(土) 13:51:24.87 ] |をパイプ処理に使う仕様とかはqtみたいな言語のサブセット的な巨大フレームワークを構築してその中に隔離しておいてくれ
636 名前:デフォルトの名無しさん mailto:sage [2011/10/03(月) 09:54:06.59 ] oerator | の定義って斬新だな フェニックスも大概独自世界構築してるけど| の方がわかりやすくてええわ
637 名前:デフォルトの名無しさん mailto:sage [2011/10/03(月) 11:06:36.24 ] 俺はうげーってなるから止めて欲しい
638 名前:デフォルトの名無しさん mailto:sage [2011/10/03(月) 13:11:45.27 ] シェルのパイプからの発想なんだろうけどC++で順序に意味のある結合に|を使うのは一般的になって欲しくない
639 名前:デフォルトの名無しさん mailto:sage [2011/10/03(月) 20:59:58.34 ] 同感
640 名前:デフォルトの名無しさん mailto:sage [2011/10/04(火) 19:22:39.08 ] >>633 >eggやoven boostライセンスだから 作者の許可なしで「改良したもの」をboostに提案しても問題ない予感がするのだが もちろん作者の名前も入れる
641 名前:progress_display mailto:sage [2011/10/04(火) 19:50:11.11 ] ・・・
642 名前:デフォルトの名無しさん mailto:sage [2011/10/04(火) 20:34:30.64 ] 返事が無い ただのdeprecatedのようだ
643 名前:デフォルトの名無しさん mailto:sage [2011/10/04(火) 20:37:41.95 ] 誰かが作ったのを別人が改良というのはよく見るから 改良したらいいんじゃないの?
644 名前:デフォルトの名無しさん mailto:sage [2011/10/05(水) 19:12:35.16 ] progress_display って、なんだかんだでみんな一度は使うよね
645 名前:デフォルトの名無しさん mailto:sage [2011/10/05(水) 19:13:37.47 ] boostの親善大使だから
646 名前:デフォルトの名無しさん mailto:sage [2011/10/05(水) 19:17:28.31 ] そうだったのか。。 でも確かに、親善大使という言い方に、しっくりくるものを感じる。。。
647 名前:デフォルトの名無しさん mailto:sage [2011/10/06(木) 00:55:35.76 ] まぁ初めてboost触る人にSpirit薦めるわけにはいかないしねぇ 俺はlexcal_castから入門したけど
648 名前:デフォルトの名無しさん mailto:sage [2011/10/06(木) 04:42:44.99 ] 誰もが一発でわかる最も簡単なboost noncopyableをよろしく
649 名前:デフォルトの名無しさん mailto:sage [2011/10/06(木) 07:18:53.85 ] BOOST_FOREACHがいいんじゃないか
650 名前:やんやん ◆yanyan72E. mailto:sage [2011/10/06(木) 10:42:50.54 ] BGLから入った俺は変態ですか?
651 名前:デフォルトの名無しさん mailto:sage [2011/10/06(木) 11:15:42.53 ] 俺はshared_ptrとregex
652 名前:デフォルトの名無しさん mailto:sage [2011/10/06(木) 12:00:49.57 ] 俺はtokenizer
653 名前:デフォルトの名無しさん mailto:sage [2011/10/06(木) 13:05:24.59 ] filesystemから入ったかなぁ
654 名前:デフォルトの名無しさん mailto:sage [2011/10/06(木) 13:17:38.99 ] randomだったと思う。
655 名前:デフォルトの名無しさん mailto:sage [2011/10/06(木) 13:19:25.53 ] 和訳されてる書籍にあるライブラリしか使えん
656 名前:デフォルトの名無しさん mailto:sage [2011/10/06(木) 14:35:14.08 ] scoped_arrayからかな・・・auto_ptrの配列版探していて知った ところでprogress_displayを実用した著名ソフトってあるのかしら
657 名前:デフォルトの名無しさん mailto:sage [2011/10/06(木) 14:59:48.03 ] google code検索で検索してみよう
658 名前:デフォルトの名無しさん mailto:sage [2011/10/06(木) 19:29:22.00 ] >>656 めっちゃ有名なライブラリで使ってるよ。 Boost C++ Libraries
659 名前:デフォルトの名無しさん mailto:sage [2011/10/06(木) 23:55:45.01 ] 一番最初につかったのが、progress_displayだわ まぁLet'sboostみながら一番わかりやすそうだったからってだけだが
660 名前:デフォルトの名無しさん mailto:sage [2011/10/07(金) 10:59:06.69 ] 意外にもformatが挙がらないな
661 名前:progress_display mailto:sage [2011/10/08(土) 01:20:12.74 ] 私の後継に相応しい者はいないようだな これではまだまだ親善大使を退くわけにはいかんう・・・
662 名前:デフォルトの名無しさん mailto:sage [2011/10/08(土) 17:22:29.70 ] 早くprogress_display2.0を作る作業に戻るんだ
663 名前:デフォルトの名無しさん mailto:sage [2011/10/08(土) 17:38:11.23 ] Boost.Timerv2に対応したprogress_displayです!!!1111 みたいにboost.develに投稿してまずはsandbox入りを目指そう
664 名前:デフォルトの名無しさん mailto:sage [2011/10/08(土) 17:54:54.35 ] 表示処理部分を差し替え可能にすればなんとか・・・
665 名前:デフォルトの名無しさん mailto:sage [2011/10/08(土) 19:09:47.22 ] 誰か>>629 とMPIにも対応させてくれ
666 名前:デフォルトの名無しさん mailto:sage [2011/10/08(土) 20:21:58.06 ] そしてboost.interprocessに吸収されるわけですね
667 名前:デフォルトの名無しさん mailto:sage [2011/10/09(日) 00:26:41.87 ] bjamこそprogress_display使うべきじゃね?
668 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 16:49:04.00 ] filesystemのwpathってなんでdeprecatedなの?
669 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 16:51:32.26 ] ごめん自己解決 pathそのものが両方サポートしてるのね。
670 名前:デフォルトの名無しさん [2011/10/25(火) 14:09:17.02 ] 「boost::this_thread」っていう名前空間の「this」ってどんな意味なのでしょうか? どなたかご存知です?
671 名前:デフォルトの名無しさん mailto:sage [2011/10/25(火) 14:12:05.06 ] このスレ
672 名前:デフォルトの名無しさん mailto:sage [2011/10/25(火) 14:16:33.54 ] >親善大使 簡単にスレッドを使いたくて調べてたらboostにあたった。 boost::thread は非常に簡単でいい。 「boost::this_thread」っていう名前空間の「this」ってどんな意味なのでしょうか? どなたかご存知です?
673 名前:デフォルトの名無しさん mailto:sage [2011/10/25(火) 14:24:37.71 ] >>670 "this"の意味は「この」。 "this_thread"で「このスレ」。
674 名前:672 mailto:sage [2011/10/25(火) 19:21:41.47 ] >>620 あれ?2回も投稿してるし、しかもageてるよ。申し訳ない。 >>671 , >>673 ありがとうございます。 助かりました。 説明もらって、Webで見つけたサンプル達を眺めたら理解できました。
675 名前:672 mailto:sage [2011/10/25(火) 20:36:08.22 ] 連続で失礼! どちらかというと、Boostというより、C++のクラスについての質問になります。 よろしくお願いします。 ttp://melpon.tank.jp/pukiwiki147/index.php?Memo%2F%CB%DD%CC%F5%2FBoost.Thread ↑この辺り( Boost.Thread )を読んで試したりしているのですけど、 boost::this_thread sleep() ※Static member function sleep() boost::this_thread::sleep() ※Non-member function sleep() の二つのsleepがあるじゃないですか。それぞれ、 指定した時間になるまで、現在のスレッドをサスペンドします 指定した時間が経過するまで、現在のスレッドをサスペンドします と若干引数の扱いが違いますが、似ています。 threadクラスの中に入れたのと、外(this_thread)に入れたのとで、どのように使い分ければいいのですか? 「中断ポイント」として、利用されるのが前者、程度の違いでしょうか? 何か他に大事なことを知らない気がしています…。
676 名前:672 mailto:sage [2011/10/25(火) 21:33:35.07 ] ミスった ×boost::this_thread sleep() ※Static member function sleep() ○boost::thread sleep() ※Static member function sleep()
677 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 18:00:45.65 ] property_treeのINIパーサーだけど、XMLパーサーみたいに書きこむときに コメントを再現できないんだろうか? 今は無視して読み飛ばしてるみたいだが。
678 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 18:05:26.87 ] コメントなんて読んでどうすんだ
679 名前:デフォルトの名無しさん mailto:sage [2011/10/30(日) 20:51:44.73 ] boost::thread のスレッドが動いているか、それとも終了しているか、を自作の関数を用いないで確認する方法ってあります?
680 名前:デフォルトの名無しさん mailto:sage [2011/10/30(日) 21:20:35.33 ] timed_join
681 名前:679 mailto:sage [2011/10/31(月) 02:40:46.69 ] >>680 !!そうかっ! 感動した! ありがとうございます。
682 名前:デフォルトの名無しさん mailto:sage [2011/11/01(火) 00:34:42.48 ] 既存のクラス namespace Hoge { struct Fuga // 独自にカウンタを持つ { int count ; int add_ref(void); int release(void); }; } があってintrusive_ptrを使いたいんだけどnamespace Xに追加禁止の場合は グローバルスコープにintrusive_ptr_add_refとintrusive_ptr_releaseを書くしか無い? なにかうまい回避策とかあるのかな
683 名前:デフォルトの名無しさん mailto:sage [2011/11/01(火) 01:47:51.17 ] >>682 namespace に追加禁止の意味がわからん。
684 名前:デフォルトの名無しさん mailto:sage [2011/11/01(火) 01:54:37.13 ] Xってどこだよ、おいといて、>>682 でHogeの中に置けないならnamespace boostに置く
685 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 06:59:20.82 ] ttp://melpon.tank.jp/pukiwiki147/index.php?Memo%2F%CB%DD%CC%F5%2FBoost.Thread#x68e5715 「Thread Constructor」の説明に書いてある、「*this」って何のことか説明もらえたりしませんか? 呼ばれる関数内でthisとか書いてもthreadのインスタンスメソッドとか呼べないのですけど…。 さっぱりわかりません。
686 名前:685 mailto:sage [2011/11/02(水) 07:33:33.34 ] あ、何か急にわかりました。 スレ汚し失礼しました。
687 名前:685 mailto:sage [2011/11/02(水) 14:26:44.40 ] >>675 ttp://melpon.tank.jp/pukiwiki147/index.php?cmd=read&page=Memo%2F%CB%DD%CC%F5%2FBoost.Thread#ldd60c2a これみると、後方互換性のために存在する感じのように見える。 「// 後方互換性のため」のスコープがどこまでなのかがハッキリしないが、たぶん後方互換性に含まれるんだろ。 ちなみに、boost1.47のヘッダみたら、「static」の方の引数の変数名が「this_thread」にあわせられていた。 確信無いので参考までに。
688 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 20:59:30.05 ] もう少しよく見ればthread::yield/sleepがthis_thread::yield/sleepを呼び出してるだけなのがわかっただろうになあ
689 名前:679 mailto:sage [2011/11/05(土) 06:15:53.53 ] join()・timed_join()(成功)・detach()を複数回実行した時の動作は未定です? timed_join()を繰り返して、起動した全てのスレが終了したか検知するコードを書いて今はうまく動いているのですけど、 幾つかのスレが終了している最中に、もしも別のスレが起動したらどうなるのかな?デタッチした領域は開放されているから再利用される可能性があるかな?なんて考えて…。 それとも、スレの起動箇所ごとに、アタッチするメモリ番地が決まってるのかな。 そうすると、forやwhileで起動する際に説明がつかないし…。 未定か。
690 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 11:36:39.78 ] なに言ってるかわからないがたぶん心配してるようなことにはならないだろ。基本的なところを勘違いしてるように思える。
691 名前:689 [2011/11/06(日) 22:23:39.49 ] >>690 レスありがとうです。 スレッド周りのヘッダとcppと読んでみたのですけど、あまりわかりませんでした。 スレッドが終了したかどうかって、Win32 APIとどのようにやり取りするのかわからないのがマズイ気がする。 先は長い…。 ところで、さっきと今との、経過時間をmillisecで取得したいのですけど、Boostを利用すると比較的容易な気がするのですが、どのクラスを利用すればいいでしょうか? boost::posix_time付近で探しているところですが。
692 名前:689 mailto:sage [2011/11/06(日) 22:34:54.18 ] ageてしまいました。すみません。 Win32APIでみつけることができました。GetTickCountで差分をとればいけそうでした。 もしBoostで、同じようなことが出来れば御教示ください。出来れば環境依存は少ない方がいいと思いますし。
693 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 22:45:34.52 ] boost::timer
694 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 23:13:37.80 ] chrono
695 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 06:41:56.52 ] いつもチンコ?って思っちまう
696 名前:デフォルトの名無しさん mailto:sage [2011/11/08(火) 17:34:26.68 ] 半年くらい前までは[スマポ]で検索するとスマートポインタのサイトがずらっと出てきたのに 今出てこなくなってるな こういう新しいものが出たときにもともとあった情報の取得の障害になることをなんていうんだろうね
697 名前:デフォルトの名無しさん mailto:sage [2011/11/08(火) 17:36:23.99 ] 産業革命
698 名前:デフォルトの名無しさん mailto:sage [2011/11/08(火) 17:54:00.58 ] シャドウイング
699 名前:デフォルトの名無しさん mailto:sage [2011/11/08(火) 21:56:57.82 ] オレオレ略語使いの憂鬱
700 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 12:34:52.49 ] スマポなんて初めて聞いたぞ
701 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 12:38:10.56 ] ナマポは生活保護か生ポインタか
702 名前:デフォルトの名無しさん mailto:sage [2011/11/12(土) 15:27:47.67 ] むしろ誰も使ってなかったからグーグル先生の超推理でスマートポインタにヒットしてたんだろ。 いまは使われるようになったからな。
703 名前:デフォルトの名無しさん mailto:sage [2011/11/12(土) 18:32:09.00 ] >>696 10年以上前の話だがCの関数をググれてたのが PHPに占領されたときは殺意を覚えた
704 名前:デフォルトの名無しさん mailto:sage [2011/11/12(土) 18:42:18.38 ] >>696 いまは「スマ」と打つとsmileageが出てくるように・・・まだなってないか
705 名前:デフォルトの名無しさん mailto:sage [2011/11/12(土) 20:10:00.06 ] clangが規格に忠実すぎてBootのソースがコンパイルできん。
706 名前:デフォルトの名無しさん mailto:sage [2011/11/15(火) 07:45:19.68 ] JOSN用モジュールってありますか?
707 名前:デフォルトの名無しさん mailto:sage [2011/11/15(火) 12:43:22.14 ] >>705 コンパイルエラー晒せ。 直接バグレポートするともっといい。
708 名前:デフォルトの名無しさん mailto:age [2011/11/15(火) 22:07:44.75 ] >>706 JSON? boost::property_tree boost::property_treeを使ってXMLを読み込んでみるコードを書いてるのですけど、 hoge.piyo.fooの要素が複数存在する可能性がある仕様の時、何個あるかしらべるには、foreach使って全て読み込んでみないとわからないですか? mapのsize()のような関数って無いでしょうか?
709 名前:デフォルトの名無しさん [2011/11/16(水) 01:35:08.82 ] Version 1.48.0 www.boost.org/users/history/version_1_48_0.html
710 名前:デフォルトの名無しさん mailto:sage [2011/11/16(水) 05:45:06.58 ] boost に gettext 相当のものってありますか?
711 名前:デフォルトの名無しさん mailto:sage [2011/11/16(水) 06:01:45.60 ] >>710 ちょうどBoost.Localeが入ったぞ
712 名前:デフォルトの名無しさん mailto:sage [2011/11/16(水) 09:45:15.35 ] フェニックスってコンパイルは遅くなるけど 実行時間はふつうにfor文かいたりするのと変わらないの?
713 名前:デフォルトの名無しさん mailto:sage [2011/11/16(水) 12:20:42.65 ] >>706 ttp://anon21.qlookblog.net/20110717-1.html
714 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 01:58:09.28 ] Windowsでstd::locale("en_US.UTF-8")すると死ねますか?
715 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 01:59:23.32 ] たぶん無視されるだけかと
716 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 13:49:42.72 ] >>712 うん。gccレベルのコンパイラでも最適化オプションつけるとfor文展開と変わらない。 最適化しない場合は知らん。
717 名前:デフォルトの名無しさん [2011/11/17(木) 14:52:45.35 ] 1.48.0 released
718 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 15:59:38.87 ] Boost.Containerの詳しい解説たのむ 主にflatシリーズ
719 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 17:27:47.13 ] > 主にflatシリーズ ソート済みvector使った擬似setや擬似mapあるだろ。つまりそれ。
720 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 18:56:20.37 ] b2 ってのは bjam と同じなの? 1.47.0 から変わったみたいでコンパイルがよく分からなくなった それと、オプションの toolset は -- がいらなくなったの?
721 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 19:35:49.47 ] boost::interprocess::detailから boost::interprocess::ipcdetailに仕様が変わってるんだな コンパイルエラー吐かれて初めて気付いた
722 名前:やんやん ◆yanyan72E. mailto:sage [2011/11/17(木) 20:16:14.19 ] 俺はbootstrap.shでtoolsetなどのオプションを指定して b2でコンパイルという感じでやってるけど、 b2をbjamと同じように使うこともできるみたいだね。
723 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 20:28:23.12 ] >>719 ありがと
724 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 13:41:41.76 ] VC++2008でエラーになる・・・ boost.moveが原因くさい #include <boost/unordered_map.hpp> int main() { struct data_type { boost::unordered_map<int, int> a; }; data_type a; const data_type b; a = b; return 0; }
725 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 16:32:03.78 ] Why don't you write your version of boost.
726 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 18:19:04.28 ] >>724 boostの使用以前にエラー。 クラス型のconstオブジェクトを初期化子なしで初期化する(default-initialized)ときは そのクラス型はユーザー定義のデフォルトコンストラクタを持っていなければならない。
727 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 20:45:24.66 ] property_treeのxml_parserでencodingをutf-8にして 文字列データに日本語を含ませるとunexpected end of dataという例外が飛んできます utf-8のxmlを読み込むにはどうすればいいんでしょうか?
728 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 20:46:15.79 ] data_type a; data_type b; a = static_cast<const data_type&>(b); でもエラーになるな。
729 名前:727 mailto:sage [2011/11/18(金) 20:47:18.46 ] あ、ちなみに環境はwindows7でVC++EE2008 boostのバージョンは1.46.1です
730 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 22:38:19.46 ] >1.46.1です
731 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 02:13:30.33 ] >>724 C++03でのmoveのエミュレーションの限界であり仕様 ttp://www.boost.org/doc/libs/1_48_0/doc/html/move/emulation_limitations.html#move.emulation_limitations.assignment_operator
732 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 02:53:37.99 ] >>726
733 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 04:00:51.16 ] moveエミュレーションってOFFにできないの?
734 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 08:18:33.39 ] >>726 は規格準拠の動作。VC++で出るべきエラーが出ないのはいつものことなのでお察しください
735 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 13:13:26.51 ] よくわからんけど>>728 が通らないっていろいろ問題でないか?
736 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 14:04:06.67 ] std::mapに変えてcodepadで試したけどエラー出なかったぞ
737 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 15:16:38.02 ] >>726 はclangとかで試せばエラーになるだろうけど とりあえずboostとは関係ないし軽く流せよ
738 名前:デフォルトの名無しさん [2011/11/19(土) 16:22:22.43 ] へえ
739 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 17:02:27.30 ] >>733 1.47とか古いboost使えば >>735 boost1.48のコンテナを使うならdata_typeに必要なメンバを追加すれば通るようにはできる >>736 どういう話だ。 >>724 ,728が言いたかったのはboost1.48のコンテナを使ったときの話でstd::mapでは再現しない。 >>726 が言ってるのはこういう話 ttp://codepad.org/wc7uBetz。
740 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 17:02:36.69 ] Boost.Containerのパフォーマンスに期待
741 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 23:12:47.21 ] >>730 治りました! ありがとうございます
742 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 07:40:41.25 ] Visual C++向けのboostのlibのディレクトリを覗くと、 (1)boost〜.dll (2)boost〜.lib (3)libboost〜.lib ※:〜の部分は同じ という3種類のファイルがあるのですけど、それぞれ何なのですか? 何となく、(3)が静的リンクなライブラリの本体で、 (1)が動的リンクなライブラリの本体で、(2)が(1)向けのインポートライブラリかなぁなんて考えたのですが、 どうして静的と動的と両方あるのだろうか?と考えると、さっぱりわかりません。 boostって静的リンクじゃないのですか?
743 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 08:38:29.93 ] どこでダウンロードしたやつだ 公式じゃないよな?
744 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 10:05:05.07 ] インストーラ配布してるとこがあるじゃん んで、boostライブラリにはダイナミックリンクとスタティックリンクの2種類があるよ ファイルの区別は>>742 の通りで間違い無い もう少し詳しくいうと、末尾に-sgdが付いているのがデバッグCRTスタティックリンク型(/MTd)、 -sが付いているのがCRTスタティックリンク型(/MT)、 -gdが付いているのはデバッグCRTダイナミックリンク型(/MDd)、 何も付いていないのがCRTダイナミックリンク型(/MD) その他命名規則の詳細はこちら www.boost.org/doc/libs/1_48_0/more/getting_started/windows.html#library-naming
745 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 07:27:35.14 ] 実際スタティックリンクの方が速いな ダイナミックリンクはどうしてもコールゲートを通すのでリングレベルの移行など CPUで処理すべき仕事が多く相当速度が落ちる 速度とサイズのトレードオフか でもDLLやsoもメモリ内に読み込むのでサイズが小さいとも言えないし 同時に走らせるプログラムが多くなってきた時だけ違う
746 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 07:44:52.93 ] ?
747 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 11:36:28.84 ] dllでコールゲート通らないし しかもリング変えるのにコールゲートとかいつの話だ
748 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 12:13:15.70 ] 聞いたことある単語を適当に並べてみただけって感じの文だな
749 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 12:14:32.91 ] ダイナミックリンクでコールゲートを通すような処理系を教えてくれよ
750 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 16:19:33.53 ] リンク時の最適化が効かない以外はあんまかわらんかね
751 名前:デフォルトの名無しさん mailto:sage [2011/11/24(木) 00:57:26.19 ] コールゲートが必要なのはカーネルだけだろ。 カーネルの場合は、ゲートとなるアドレスが記述されていて、 そこへ飛ぶとメモリー空間がユーザー空間からカーネル空間へ変わる。 通常のDLLは、ユーザー空間にコードマッピングして、関数テーブルを そこのアドレスに書き換えてるだけ。
752 名前:デフォルトの名無しさん mailto:sage [2011/11/24(木) 21:03:45.95 ] 助けてください >< boost::tupleのメンバ関数get<N>をboost::lambda::bindで束縛するにはどうしたらいいでしょう? 下記のコードでは、 error: invalid static_cast from type ‘<unresolved overloaded function type>’ to type ‘int (*)(const boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type, .... と言われてしまいます。 get<N>のテンプレート周りかなと思うのですが。。 using namespace boost::lambda; int r; r = (bind( static_cast<int(*)(const boost::tuple<int,int>&)>( &boost::tuple<int,int>::get<0> ), _1) ) (boost::tuple<int,int>(1,1));
753 名前:デフォルトの名無しさん mailto:sage [2011/11/24(木) 21:43:07.29 ] static_cast<const int&(boost::tuple<int,int>::*)()const>(&boost::tuple<int,int>::get<0>) メンバ関数がどんな型になるか勉強しなおしたほうがよさそう
754 名前:デフォルトの名無しさん mailto:sage [2011/11/24(木) 22:03:39.03 ] >>753 ありがとうございます! いろいろとカン違いしていました。 返り値型がconst int &というのも言われてみればなるほどで、 自分はまだまだ勉強が足りないですね。。
755 名前:デフォルトの名無しさん mailto:sage [2011/11/25(金) 00:07:39.70 ] read_xmlでunicodeが読めないのですが仕様ですか? 引数にマルチバイト文字しか受け付けないし、 文字コード宣言があるXML文書のパースを ロケール指定して使うproperty_treeに依存するとかあほですか
756 名前:デフォルトの名無しさん mailto:sage [2011/11/25(金) 16:11:45.03 ] yes
757 名前:デフォルトの名無しさん mailto:sage [2011/11/25(金) 22:45:17.23 ] boost.spirit.qiでセマンティックアクションから、 一致したruleのrangeを示すiteratorが欲しいのですがclassicを使うしか方法はないのでしょうか? 例えば、以下の様にしたいです。 void action(Iter first, Iter last){ ... } //... (char_('(') >> *char_('0') >> char_(')'))[action];
758 名前:デフォルトの名無しさん mailto:sage [2011/11/25(金) 22:48:13.14 ] ptreeはutf8一択と心に決めて使うものだし
759 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 13:15:59.82 ] tupleってfusionよりメリットある部分あるの?
760 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 15:08:01.25 ] 機能が少ない分全貌を把握しやすくてとっつきやすい。 TMPに馴染みのない人がfusionの説明見たら引くでしょ。
761 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 20:56:08.16 ] そしてtupleのソースコードを読んで引く
762 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 20:58:58.39 ] 俺なんかanyですらやや引きだぜ
763 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 21:23:12.42 ] any使えて嬉しいことって人生で一度でもあればいいほうだよね
764 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 21:25:13.00 ] >>753 オレオレ言語作るときに使えないか期待している。 しかし、まだ俺にそのスキルはない。。。
765 名前:デフォルトの名無しさん mailto:sage [2011/11/27(日) 00:43:23.40 ] ヘッダをプリコンパイルヘッダーに突っ込んでも遅い。 みんなどうやってんの?
766 名前:デフォルトの名無しさん mailto:sage [2011/11/27(日) 00:45:44.67 ] PCを買い替える
767 名前:デフォルトの名無しさん mailto:sage [2011/11/27(日) 00:49:14.99 ] それどころかヘッダファイルをRAMDISK上に置いても遅い 極限までOCするとちょっと速くなる 結局並列ビルドが効く様な構成にしてその上でクロック周波数を極限まで上げるしかない 後はメモリアクセス速度とCPUのキャッシュ容量も効いてくるかもな
768 名前:デフォルトの名無しさん mailto:sage [2011/11/27(日) 02:26:15.97 ] boostのヘッダー1個、boostを使うソース1個でも十分遅いからな。
769 名前:デフォルトの名無しさん mailto:sage [2011/11/27(日) 08:09:02.14 ] 64bitにする
770 名前:デフォルトの名無しさん [2011/11/28(月) 09:48:46.81 ] 多倍長整数型の一桁ずつをint型の配列に入れるために、 多倍長整数型をまずstringに代入し、一桁ずつの分割をして、それをboostでint型に変換してみようとしています。 つまり、charを使わないで 多倍長整数→string→string一桁ずつ→int の変換をしたいのです。 お尋ねしたいのが、string→string一桁ずつの変換をどのように行ったらいいのかということなんです。 もしわかる方がいらっしゃるなら教えていただけると嬉しいです。
771 名前:770 mailto:sage [2011/11/28(月) 09:55:53.46 ] >>770 に補足で、言語はc++です。
772 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 10:14:46.90 ] 基数のべき乗で割ったあまり使えば?
773 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 10:16:56.88 ] >>772 言われてみればそうやれば簡単にできそうですね
774 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 03:44:49.48 ] OpenMPのような並列ライブラリってありますかね? 素直にboost::threadですかね・・・ boost Proの全自動インストーラーのほうが便利ですね 入れるなら
775 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 21:24:52.86 ] boost.fusionあたり使ってstd::vectorだろうが構造体だろうが かたっぱしからオブジェクトのメンバーをprintしてくれる debug関数みたいなのないですか
776 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 13:04:42.91 ] grep のことかな
777 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 18:27:57.73 ] デバッガでウオッチすればいい
778 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 19:10:34.41 ] シリアリズしてstd::cout
779 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 01:45:36.46 ] シリアライズのコードぱくれば作れそうだな
780 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 12:42:57.64 ] boost::this_thread::sleep(boost::get_system_time() + boost::posix_time::milliseconds(1)); boost::this_thread::sleep(boost::posix_time::milliseconds(1)); ↑ふたつって、意味は同じ? それとも、下側のソースは、基準になる現在時刻がないから、最低の時間(オーバヘッド)のsleepになる? どういうルールでどのテンプレートが利用されるのかが理解できないです。 よろしくおねがいします。 …boostスレに書いたほうがいいです?(過疎ってるみたいなのでこちらに書いてみました。) >【初心者歓迎】C/C++室 Ver.76【環境依存OK >>836 @ 2011/11/30(水) 10:57:59.02 でも同じ質問を書きましたのでマルチです。1week経ったので引っ越しました。
781 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 15:53:52.11 ] boostのメルセンヌ・ツイスタを自作のアプリケーションに使用した場合にも 「著作権表示、ライセンス条文、無保証の旨」を書かないと駄目なんでしょうか? それとメルセンヌ・ツイスタに限らずboostを利用する際にライセンスに関わる注意点はありますか?
782 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 16:34:29.67 ] >>781 random/mersenne_twister.hpp を見るとライセンスがwww.boost.org/LICENSE_1_0.txt であるとわかる。 バイナリ配布にあたってはライセンス同梱は必要ないようだが、 mersenne_twister.hpp込みでソースを配布するならライセンス表示、同梱は必要だろう。 これはboost全体に言える。
783 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 16:44:24.56 ] >>782 ありがとうございます ヘッダを見ればよかったんですね
784 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 20:15:47.01 ] >>780 > boost::this_thread::sleep(boost::get_system_time() + boost::posix_time::milliseconds(1)); > boost::this_thread::sleep(boost::posix_time::milliseconds(1)); > ↑ふたつって、意味は同じ? 意味は違うがよっぽど変な状況でないかぎり結果は同じ。 this_thread::sleepには指定した日時まで待機するのと指定した期間の間待機するのと二種類ある。 上側は指定した日時(たとえば01時23分45秒まで。上の例だと現在時刻の1ミリ秒後)まで待機するもので 下側は指定した期間(たとえば1秒間。上の例だと1ミリ秒間)待機するもの。 どっちになるかは引数の型で決まる。
785 名前:デフォルトの名無しさん [2011/12/15(木) 07:47:16.25 ] Boost.Regex って、UTF8 テキストに対して使えますか? 例えば、"." を検索すると”あ”等のマルチバイト文字にマッチするのでしょうか?
786 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 07:48:07.75 ] 使えない
787 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 12:25:20.07 ] ダメじゃん
788 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 13:51:07.46 ] 馬鹿には無理
789 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 06:51:38.22 ] Boost.Anyなんて使うならLuaを組み込んだほうがまし
790 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 03:53:05.45 ] variantやanyを使って実行速度遅くするなら 工夫してunion使った方がマシな気がする 実行速度を落さないunionの拡張はboostにないのだろうか
791 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 08:49:08.27 ] >>790 素の union で何が不満なの?
792 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 10:41:49.00 ] unrestricted union使うぐらいならvariantでいいや
793 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 13:59:33.58 ] boost::array<int,5> arr = { {1,2,3,4,5} }; arrayで要素数を省略した初期化って現状不可能ですか?
794 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 17:48:55.48 ] 微妙に意味がわからないがテンプレートをインスタンス化するときの<int,5>の5の省略は不可能(おそらくずっと)
795 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 18:12:16.28 ] 要素数の後決めしたいとか、array使う意味が皆無になるんだが。
796 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 18:51:36.87 ] やっぱり不可能ですか、、、 後決めしたいというより、ただただ書くのを省略したいだけなんですがね。。。
797 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 19:16:16.71 ] >>796 #include <iostream> #include <boost/array.hpp> #define ARY(t, n, ...) \ static const t n ## _[] = {__VA_ARGS__}; \ boost::array<t, sizeof (n ## _) / sizeof (n ## _[0])> n = {{__VA_ARGS__}} int main() { ARY(int, arr, 1, 2, 3, 4, 5); std::cout << arr[2] << std::endl; return 0; } 省略できてもあまり嬉しくなかった。
798 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 19:45:18.04 ] int a[] = {1, 2}; のような事をしたかったってことなんだろうね
799 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 20:56:46.18 ] まさにそれをしたかった。なぜそうしなかったかというと、境界チェック付きの 配列を使いたかったから。
800 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 21:55:20.06 ] 別スレで同じこといってるやつみたけど 結局boost使うことにしたのかな
801 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 12:54:36.97 ] ublasってopencvより遅い気がするのだけど気のせい? ublasの方が速い場合ってエクスプレッショナルテンプレートが効く場合だけ? gccのコンパイルオプションで同じぐらいの速度にならないものだろうか
802 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 14:50:46.10 ] >>797 どうでもいいがプリプロセッサの 可変長引数でコンパイルエラー 世の中C99対応のコンパイラばかりではない
803 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 14:54:39.38 ] >>801 分岐の少ない問題でOpenCVがublasごときに負けたら OpenCVの存在意義が無くなると思うが? OpenCVはGPUを使って数百の並列実行してるんだからな。
804 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 21:00:18.40 ] lexical_cast ってスレッドセーフ?
805 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 20:45:04.63 ] corutineはそろそろ正式リリースしてくれないものか
806 名前:progress_display mailto:sage [2012/01/08(日) 15:36:56.20 ] 明けましておめでとうございます。 挨拶が遅くなり申し訳ありませんが、今年も何卒宜しくお願いいたします。
807 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 13:20:18.76 ] >>806 開けましておめでとうございます。 ところで、後でちょっとお話がありますので、 会議室を1時間くらい予約しておいてください よろしく
808 名前:progress_display mailto:sage [2012/01/09(月) 14:36:31.42 ] >>807 やだ課長、1時間は短いですよぉ
809 名前:Regex mailto:sage [2012/01/09(月) 17:52:20.64 ] >>808 打ち合わせどうだった? 何言われたの??
810 名前:boost::tuple mailto:sage [2012/01/09(月) 20:23:36.80 ] さてと、C++11への引っ越しを始めるとするか・・・。
811 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 20:26:00.89 ] corutineがいろいろ改変されたのあって どれが一番いいのかわからない x86 amd64 のwindows linux mac で動けばいいのだけど
812 名前:progress_display mailto:sage [2012/01/13(金) 23:37:40.00 ] @typeに登録しておこう(´;ω;`)
813 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 23:51:00.44 ] shared_ptrってスレッドオフしてallocate_sharedすればintrusive_ptrとパフォーマンスたいして変わらんっすよね?
814 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 05:42:46.00 ] shared_ptrのサイズはポインタ二つ分。 共有管理オブジェクトにはweak_ptr用のカウンタもある。 大した違いかどうかは場合による。
815 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 09:35:55.06 ] メモリ intrusive_ptr 生成破棄 intrusive_ptr 参照カウント増減 shared_ptr
816 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 15:11:46.99 ] ttp://www.boost.org/doc/libs/1_48_0/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/internal_promotion.html 自分で定義した(例えば多倍精度浮動小数点数)型を数学関数内部でも使える様にするにはどうすればいいですか?
817 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 23:51:54.60 ] ttp://www.boost.org/doc/libs/1_48_0/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/concepts.html やったことはないがその型に対してこれ↑を満たすように必要なものを自分で書けばboost::mathでその型を使えるんだろ
818 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 03:32:32.30 ] void func2( boost::array<int, 3> & c) { c.assign( 0 ); } error: invalid initialization of reference of type ‘boost::array<int, 3ul>&’ from expression of type ‘const boost::array<int, 3ul>’ arrayを参照引数にできないんだっけ?
819 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 07:59:21.04 ] >>818 おまいはエラーメッセージも読めんのか?
820 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 08:58:09.76 ] ああ!constついてました
821 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 05:12:42.79 ] boost::fusion::list a の先頭要素が a.begin() で参照できないのがちょっと気持ち悪い
822 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:49:52.05 ] bjamの利点がわからないのですが、autoconfとかを用いずbjamを利用してるのは何故でしょうか?
823 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 00:18:21.01 ] POCOとほとんど同じ機能持つライブラリ ありませんか?
824 名前:デフォルトの名無しさん mailto:age [2012/02/02(木) 16:01:00.05 ] ubuntuでboost入れたら一瞬でインスコ完了で使えるようになった 一方、Windowsではサイズがでかい上にビルドにかなり時間がかかる。 この差はなんでつか?ちなみにWindowsではVCで使う感じです
825 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 16:32:49.79 ] apt-get とかでパッケージをインストールしたんのなら、既にバイナリが含まれてるからだろ。
826 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 17:06:15.79 ] なるへそ Windowsでは全部落としてきて自分でビルドしたからか
827 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 01:20:40.57 ] >>823 なんでpoco不可?
828 名前:デフォルトの名無しさん mailto:age [2012/02/03(金) 08:07:34.00 ] ポコチン
829 名前:デフォルトの名無しさん mailto:age [2012/02/05(日) 22:05:47.61 ] ちんぽこ
830 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 23:10:55.09 ] ちんぽこ商用ライセンスだと制限きついしなぁ
831 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:01:35.59 ] VC2010 Essentialsを使っています。 boost::serializationを使うと、アプリケーションを作成するためのプロジェクトでも .libと.expを作ってくれるようになるのですが、これを抑制する方法はないでしょうか?
832 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:02:11.18 ] ちんぼ
833 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 01:54:03.78 ] っぽ
834 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 02:07:40.85 ] ぬるぽ
835 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 12:57:55.72 ] >>831 前に別のライブラリで同じ症状に遭ったことがあるけど、解決策見つからず 本当にどうしても嫌なら、ビルド後のプロセスでdelするとか・・・
836 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 15:29:48.48 ] libが生成されるってことはエクスポートテーブルもできてるんだから ファイルを消せばいいってもんじゃないだろ どこかで間違えて__delcspec(dllexport)が定義されてるんだろうね
837 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 18:34:24.22 ] serializationがらみで ttp://codepad.org/bp6RCbxw boost::shared_ptrのシリアライズコードを改造して、std::shared_ptr用の物を書いたのですが、 コレにカスタムデリータのサポートを追加するいいアイデア無いでしょうか?
838 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 22:45:06.20 ] poco高すぎだろ pro買わないとネットワーク系全滅だし
839 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 12:34:22.38 ] >>824 linuxでC++やるときってエディタ何使うんですか emacsのタグジャンプの設定で苦労した覚えが 今はもっといいのあるんだろうか
840 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 17:27:39.08 ] 現在Boostのthreadを使って、ワークパイルを管理するクラス、各スレッドに付随するクラス(ワーカーとします)を作っています。 ワーカーは仕事を一通り終えた後、管理クラスが終了許可を出すまで「待ち」を行うようにするため、mutexとconditionを用いています。 管理クラスが終了許可を出せば「待ち」が解除されてスレッドとして動作していた関数を完了するのですが、待ちが解除されるときにmutexにロックがかけられてしまいます(それより前でmutexにロックはかけていない)。 そのため、ワーカーが破棄されるときにmutexでunlock()関数を使わないとエラーが生じます。 ワーカーで行いたいことは通知が来るまで待つだけで、排他制御の必要はありませんが、わざわざunlock()を使わなければならないのでしょうか。 イメージ的にはconditionにmutexを渡さないwait()があれば期待通りになりそうなのですが、それは存在しません。 よろしくお願いします。また私の解釈に間違いがあれば指摘いただけると幸いです。
841 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 16:10:52.17 ] 待つだけでいいならミューテックスでもいいのでは…そういう話ではない…? #include <iostream> #include <boost/thread.hpp> #include <unistd.h> void f( boost::mutex* guard ) { std::cout << "worker: working" << std::endl; std::cout << "worker: waiting until the mutex was unlocked" << std::endl; guard->lock(); std::cout << "worker: finished" << std::endl; guard->unlock(); } int main() { boost::mutex m; std::cout << "main: lock a mutex" << std::endl; m.lock(); std::cout << "main: create a worker" << std::endl; boost::thread worker(&f,&m); std::cout << "main: sleeping 3 seconds" << std::endl; sleep(3); std::cout << "main: unlock the mutex" << std::endl; m.unlock(); std::cout << "main: waiting for join" << std::endl; worker.join(); std::cout << "main: finished" << std::endl; return 0; } $ ./sample main: lock a mutex main: create a worker main: sleeping 3 seconds worker: working worker: waiting until the mutex was unlocked main: unlock the mutex main: waiting for join worker: finished main: finished
842 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 17:00:53.33 ] >>841 返信ありがとうございます。 管理側は仕事追加・終了許可時に、ワーカーのインスタンスそれぞれのメンバー変数であるconditionでnotifyすることで待ちを解除させています。 ワーカーは、管理側が仕事を追加すると通知を受けて仕事を開始するためにwhileループ内で待ちを行っています。(終了許可待ちと仕事待ちは共通のconditionとmutex) void Worker::run() { while (true) { TaskData* task = NULL; while (_taskBag->getTasks(&task)) { job(task); } if (_finishable && _taskBag->numTasks() == 0) { _mtx.unlock(); break; } _cond.wait(_mtx); } } ワーカーが複数いるので、mutexロック解除で待ち解除の通知を行うと、「仕事追加→いずれかのワーカーが仕事に着手」の後にmutexの所有権が管理側に戻ってこないかもしれないので難しそうです。 まぁ実装の仕方次第でmutexだけでもいけそうですが。 あとよくよく考えると_cond.wait(_mtx)の時に暗黙的に_cond.wait(mutex::scoped_lock(_mtx))のようになっているんでしょうか。 となると、ロックがwait解除後に再度かけられてしまうのはある意味当たり前ですね。 申し訳ありません。簡潔な文章で伝えるのがもの凄く難しいですねw
843 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 07:46:49.88 ] waitにはmutexをロック済みのunique_lock渡す必要がある。直接mutexをwaitの渡せているのはたぶんVCのせい。 unique_lockのローカル変数を作ればunlockを呼び出す必要は無い。 condition_variableは他の変数と一緒に使うことが前提。 waitはnotifyの通知以外でも誤って解除されるのでbool変数などと合わせて使わないとだめ。 bool変数で確認するからにはmutexでの排他制御が必要。
844 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 09:57:29.58 ] >>843 ありがとうございます。 排他制御が要らなく見えていたので、待ちの実現だけにcondition、mutex両方を使うことに冗長さを感じていたのですが、conditionはそもそも単体では使わないものなんですね。 ちなみに_cond.wait(_mtx)の記述はXcode4.2でもできています。C++の引数1つの場合の暗黙的なコンストラクターですね。 こういう場合に暗黙的にできてしまうと見落としてしまう場合があって危険だと感じます。
845 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 11:57:41.20 ] >>844 それじゃあboostのバージョンが低いだけじゃないの?一時変数は非const参照に拘束できない。
846 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 19:45:57.66 ] >>845 Boost 1.48です。ちなみに上記の_mtxはワーカークラスのメンバー変数です。
847 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 19:55:58.52 ] >>846 そうか。あとはコードを実際に追わないと分からないわ。
848 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 07:34:07.70 ] boost::asioの非同期通信でhttpクライアントつくろうと思ってasync_read_someでデータ取ってるんだけど、何故か5kbくらいでデータが途中で切れちゃうんだ 誰かピンとくる人居ないか…助けてくれ
849 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 01:04:19.29 ] >>848 async_read_until使えば?
850 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 15:40:45.11 ] 今作成中のプログラムに<boost/thread.hpp>と<boost/thread/condition.hpp>をインクルードすると、システムのlocale_facets.tccとboostのshared_count.hppにおいて大量のエラーが発生します。 これらのファイル自体には問題は無く、何らかの依存関係でエラーが出ているんだろうということは想像がつくのですが、全く原因がわかりません。 何かこのような現象について心当たりのある方は居られないでしょうか。 Xcode4.2で、ヘッダーサーチパスには/opt/local/includeを(boostはこの下にインストール)設定しています。ライブラリーファイルのリンクも行っています。 よろしくお願いします。
851 名前:デフォルトの名無しさん [2012/02/15(水) 19:46:15.26 ] >>850 ですが、自己解決しました。申し訳有りません。 原因はboostを使っているソースファイルとは別のファイル内で定義した「swap」という名称のマクロでした。 それぞれのソースファイルを最終的にmain関数で参照する形となっていたためにboost内の何かとマクロ名が衝突したようです。 自分で定義したswapをユニークな名称に変更することで解決しました。 今後どなたかの参考になれば幸いです。
852 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 19:49:52.51 ] こらたかし!マクロは全部大文字にって言ったでしょ!
853 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 21:30:41.91 ] さすがにswapをマクロ名にするのはないな
854 名前:デフォルトの名無しさん [2012/02/15(水) 22:26:50.21 ] cpp側なら問題なかったのですが、実装も含めたヘッダーに書いてしまったのが盲点の原因でした...
855 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 22:40:49.07 ] 気が、狂っとる
856 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 22:45:19.13 ] 君は優秀な人材だぜひマイクロソフトに就職しなさい
857 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 22:53:13.67 ] >cpp側なら問題なかったのですが よくねぇよ。 規格にちゃんと、 「標準ライブラリーのヘッダーをincludeする翻訳単位は、全標準ライブラリーヘッダーで宣言されている名前を#defineもしくは#undefしてはならない。」 と書いてある。 だから、ひとつでもどれか標準ライブラリーのヘッダーをincludeしたならば、swapという名前は#defineも#undefもできない。
858 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:06:42.94 ] min max
859 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:27:50.00 ] >>857 swapって名前標準ライブラリーにあるの?
860 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:29:27.19 ] あぁalgorithmにあるのか。使ったこと無かったわ。
861 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:29:55.03 ] 嘘だろ…
862 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:34:09.02 ] iostreamをインクルードするだけで使えるというのに・・・。
863 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:44:50.77 ] >>859 名前だぞ名前。 クラスのメンバーにも等しく適用されると何故わからないんだ。 多くの標準ライブラリのクラスがswapという名前のメンバーを持っているのを知らないのか。
864 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 00:11:46.32 ] >>858 MSは禿にごめんなさいしないといけないよね
865 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 03:25:04.66 ] C++にテンプレートが無い様な時代から既に用意されてたんだから 後出しのハゲが謝りお願いすべき
866 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 03:49:30.66 ] 小文字が入ってるマクロ名は紛らわしいから コンパイラが警告吐いてくれたらいいのにな
867 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 07:22:59.71 ] assertみたいなマクロ実装関数で警告が出ることになるか ところでassertをキーワードに昇格させて定数式なら コンパイル時エラー出す設計にはできなかったのかな そうするとstatic_assertと書き分けなくて良いような気もするけれど
868 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 12:13:03.95 ] 例によってCとの互換性が
869 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 12:38:53.66 ] staticの方はともかくassertってあんまし使わなくねーか?
870 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 12:38:56.08 ] iOS開発でObjCのコンテナクラス類使わずにどうもSTL/boost多用してしまうんだけど 果たしてこれはよくないのかどうか・・・
871 名前:デフォルトの名無しさん [2012/02/16(木) 15:37:52.34 ] threadのwaitってどこのサイトみても … while(!ready) { cond.wait(lock); } … のようになっていますよね。これを起こす場合には ready = true; cond.notify_all(); とすると思うのですが、while分の!readyを判定してからcon.waitをかけるまでの間に上記の起こすコードが呼ばれた場合には、動かなくなってしまう気がします。 これを回避する方法などあるのでしょうか。timed_waitでしょうか。
872 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 18:47:36.71 ] >>871 cond.wait(lock);でロックを要求している素晴らしい設計を無視するなよ
873 名前:デフォルトの名無しさん [2012/02/16(木) 19:01:27.73 ] >>872 ありがとうございます。 よくよく考えてみるとwhile文の前と起こすコードの先頭でミューテックスをロックすればいいんですね。 今まで引っかかっていたものがスッキリとれました!
874 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 21:10:13.56 ] >>872 ,873を理解するまで1時間かかってしまった
875 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 18:51:24.80 ] 1.49出たのに反応なしか
876 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 01:31:34.53 ] 小学生並みの発想だな
877 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 14:05:48.47 ] 中学生並みの反応だな
878 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 21:26:03.54 ] 大学生並の考察だな
879 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 22:17:31.08 ] 院生並の皮肉だな
880 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 23:36:14.79 ] 社会人並みの判断だな
881 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 23:51:07.07 ] 年金生活者は余裕だな。
882 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 00:00:44.76 ] 病院生活並の苦労だな
883 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 09:58:05.77 ] 世捨て人並の達観だな
884 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 18:03:57.16 ] 銀河皇帝並みの独断だな
885 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 00:18:09.27 ] 原子核級の大志だな
886 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 14:27:31.51 ] 風俗嬢並の偏屈だな
887 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 00:11:07.28 ] 俺並みの性欲だな
888 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 00:46:18.10 ] 風説の流布
889 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 02:29:45.81 ] 痛風の呂布
890 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 09:45:46.39 ] 風呂の風俗
891 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 18:41:57.17 ] 温泉の効能
892 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 20:16:36.14 ] 駄レスがスレをboostする!
893 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 23:11:17.86 ] 歌舞伎町の893
894 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 23:36:25.70 ] ゲスの極み
895 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 23:45:41.65 ] お肉の厚み
896 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 00:07:56.91 ] boostってC++11の要素は取り込みはじめてるの?
897 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 00:33:35.99 ] C++11がBoostを取り込んだの間違いだろ Boost.Moveのことなら知らん
898 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 00:37:49.12 ] Boost.Chrono とかは C++11 からの逆輸入。
899 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 00:49:09.56 ] 既存コンパイラで動くようにしてくれてるならいいことだ
900 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 00:46:51.29 ] ◆ 便利な今までに出た風説の流布一覧 伝説の流川 伝説の呂布 解説の掛布 風疹の漁夫 ふーてんの流浪 妖鳥の流布 入れ墨の鯨布 風の谷の呂布 骨折に湿布 聖教新聞の配布 電設の鈴木 通風の湿布 テンセルの毛布 テンソルの分布 ピンサロの主婦 風雪ながれ旅 風雪の露天風呂 風俗で炉利 風俗の幕府 風てんのトラ 温泉の掛川 風の谷のナウシカ 季布の一諾 空席の椅子 秀策の棋譜 特攻の拓 ピンフの20符
901 名前:progress_display mailto:sage [2012/03/19(月) 23:18:49.04 ] 最近おれっちの話が出来ていないが、C++11先取りしておれっちを実装するコンパイラってまだ出てきてないの?
902 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 20:20:56.52 ] serialization を使ったときに、exe ファイルにいろんなシンボルがエクスポートされるのを防ぐ方法ってないでしょうか?
903 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 11:34:46.67 ] 仕様です
904 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 06:51:48.14 ] >>901 あれ、あなた風の噂で左遷されたって噂を聞いてたけど・・・?
905 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 19:36:20.60 ] boost::optional<int> test () { return 1; } void func { if (auto i = test() && i.get() != -1) { return ; } } これコンパイル通らないけどどうして?
906 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 20:00:01.39 ] funcの定義
907 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 20:16:53.92 ] void func () { ↑
908 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 21:59:09.93 ] >>905 エラーメッセージ見ろよ。
909 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 00:58:06.25 ] >>906-908 そこじゃなくて >if (auto i = test() && i.get() != -1) { 俺が言いたいのはこっちのほうだった auto i = test()この段階で初期化されてるはずなんだけどどうして無理なんだろう
910 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 01:05:06.21 ] >>909 規定された条件部の文法↓にマッチしないから。 condition: expression attribute-specifier-seq/opt decl-specifier-seq declarator = initializer-clause attribute-specifier-seq/opt decl-specifier-seq declarator braced-init-list
911 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 01:25:55.07 ] >>910 そもそも規格上無理なのね ありがとう
912 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 16:18:52.52 ] テンプレートクラスのメンバ関数を、 boost::threadとboost::bindで呼び出して、別スレッドで動かしたいのですが うまくいきません。ご教授願います。 template<class T> class TestClass : public T { public: TestClass(void) : T() {} }; class TestBase { public: void print(TCHAR *str){ cout << str << endl; }; }; typedef TestClass<TestBase> MyTestClass; int _tmain(int argc, _TCHAR* argv[]) { TCHAR *char str = _T("test"); MyTestClass myTestClass; myTestClass.print(str); // 正常に動作 boost::thread myThread(boost::bind(&MyTestClass::print,str)); // ←コンパイルエラー // c:\Program Files\boost\boost_1_47\boost\bind\mem_fn.hpp(333): error C2296: '->*' : 無効な左オペランドです。 }
913 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 17:52:34.92 ] >>912 boost::bindでクラスのメンバ関数ポインタを拘束した場合、第一引数はそのクラスのインスタンス(かインスタンスのポインタとか)になる boost::bind(&MyTestClass::print, myTestClass, str)
914 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 18:08:58.52 ] >>913 ありがとうございます。無事にコンパイルが通りました。
915 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 19:19:10.20 ] boost::threadを使って、メンバ関数ではなくて、 クラスそのものを別スレッドで動かしたい場合は、どのように指定すればよいでしょうか?
916 名前:915 mailto:sage [2012/04/21(土) 20:04:05.95 ] boost::threadに渡せるのは関数ポインタだけなのかな? boost::threadにクラスのコンストラクタを渡せば、そのクラスは別スレッドで動いてくれるのかと思ったけど 勘違いでしょうか?
917 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 20:54:52.22 ] クラスが動くってなんだ? ・・・って関数オブジェクトのことか? 関数オブジェクトのインスタンスを渡せばそのoperator()を別スレッドで実行させることはできる
918 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 21:32:08.83 ] >>916 具体的にどんなコードを書きたいのかここに出したほうが良いと思う。
919 名前:915 mailto:sage [2012/04/21(土) 21:36:19.05 ] ウインドウクラスをクラス化したので、 そのクラスを別スレッドにして、プロシージャなどの処理をしたかったんです。 とりあえず、グローバル関数作って、その中でクラスのインスタンスを作って、 boost::threadでそのグローバル関数を呼び出す形にしてみました。 いちいち関数を作るのも面倒なので、無名関数でやってみようかな。 無名関数使ったことないけど。
920 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 02:06:07.47 ] JavaやFlashで使われている、イベント/リスナーをC++で実現したいのですが、 boostを使ってできますでしょうか?
921 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 02:13:52.12 ] >>920 イベントはシステム側の要求でとある時に「この処理をどうします?」ってプログラマに聞くことなのでそれは可能。 で、リスナは結局デリゲートかなんかに処理をキックする機構なので、 例えばバインドなどでインスタンス関数をイベントに渡したりしたとして、そのインスタンスの寿命がなくなって無効になるタイミングをコントロール出来れば可能だろう。 と、言うわけでできなくは無いけど、GC無いからそこをどうにかしないと難しいと思う。
922 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 18:39:55.58 ] boost::graphについて質問です。 例えば、RPGゲームのマップ移動の最短経路を求めたいとします。 ただしマップを通過できるかどうかは条件があって、 ・一定のキャラクターレベルを超えていないと通れない ・特定のアイテムを所有していないと通れない などの条件があります。 私の考えたチープなやり方では、propertyでマップノードごとにRequireLevel、RequireItems などを持たせて、 レベルによってグラフノードの書き換えをする関数、 DisableGraphByLevel(graph,characterInfo); アイテムの有無によってグラフノードの書き換えをする関数、 DisableGraphByItem(graph,characterInfo); などを処理してから、グラフに対して最短経路アルゴリズムを実行するという形です。 ただ、これだと処理後に毎回グラフを元に戻さないといけないし、 条件がより複雑なものが追加されるとこの形では対応できません。 それに第一、スマートではありません。 boostっぽく処理するにはどのように設計すればよろしいでしょうか?
923 名前:やんやん ◆yanyan72E. mailto:sage [2012/04/26(木) 02:13:10.40 ] www.boost.org/doc/libs/1_49_0/libs/graph/doc/dijkstra_shortest_paths.html これの、distance_mapとか、distance_compareとかdistance_combineとかを うまく定義すれば、グラフを書き換えなくても望みの動作をさせられるんでない?
924 名前:922 mailto:sage [2012/04/27(金) 14:45:37.73 ] >>923 ありがとうございます。参考にして見ます。 boostを使うだけでなく、boostの中身を理解して、自分でアロケーターだとか イテレーターとか作ってみたいと思っているのですが、 やんやんさんのように高度に詳しくなるには、どういった書籍やサイトがお勧めでしょうか? よろしければ教えてください。
925 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 18:41:03.11 ] document嫁
926 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 22:27:30.41 ] >>905 if (auto i = test() && i.get() != -1) { ↓ auto i = test() && i.get() != -1; ↓ auto n = test() && i.get() != -1; auto i = n; 多少構文をばらしてみれば無理なの解るだろ
927 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 22:29:18.96 ] >>920 boost::functionとboost::bindと、なんかブロードキャストするクラスか なんかがあったから、それ組み合わせりゃ楽にできるよ
928 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 22:43:36.06 ] >>924 興味があるところから入っていって、もっと知りたいと思ったら勝手に詳しくなるもの
929 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 23:47:34.23 ] >>920 boost::signals2はどうだろ
930 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 00:07:51.46 ] <boost/thread.hpp>をインクルードすると下記のエラーが出ます。 どうすればいいでしょうか? 開発環境はVC++ 2008/2010 WinXPです ソースコードは metalphaeton.blogspot.jp/2011/04/boostthread.html ここにあるものをそのまま使いました 1>c:\program files\boost\boost_1_47\boost\thread\win32\basic_timed_mutex.hpp(160) : warning C4793: boost::detail::basic_timed_mutex::unlock': ネイティブ関数としてコンパイルされました: 1> マネージ コードでサポートされていない組み込み型が見つかりました 1>c:\program files\boost\boost_1_47\boost\thread\win32\thread_primitives.hpp(314) : warning C4793: boost::detail::win32::interlocked_bit_test_and_set': ネイティブ関数としてコンパイルされました: 1> マネージ コードでサポートされていない組み込み型が見つかりました 1>main.obj : warning LNK4248: 未解決の typeref トークン (0100001F) ('boost.detail.win32._SECURITY_ATTRIBUTES') です。イメージを実行できません。
931 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 00:31:14.34 ] >>930 本当にC++ですか?
932 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 07:07:29.09 ] >>930 C++/CLIはC++じゃありません
933 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 12:40:42.28 ] C++/CLIではthreadはうまく動かない 昔いろいろやってコンパイルだけはできるようになったけど、結局動くことはなかった
934 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 13:07:13.78 ] C++/CLIはスレッド出来る。.NETとおなじ機能。 C#でも不可能と言うことになる。
935 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 15:37:34.03 ] .NETのVMのスレッド用API機能とWin32のスレッド用API 混在してもまともに動く気がしない
936 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 15:43:05.54 ] >>934 933の言っているのはboost threadの話。 boostスレだからboostは省いたんだろう。
937 名前:デフォルトの名無しさん [2012/05/25(金) 18:04:12.87 ] spirit::qiで質問なんですが、Attributeを捨てることって出来ないんでしょうか? stringを返すruleを使うと、一番上までstringを返さないと存在しないAttribute(string)にアクセスしようとして 不正落ちしてしまいます。 パース中に使用し終わって、解析後にまで残す必要ないものなので捨てたいんですが・・・ あとついでに >>757 www.boost.org/doc/libs/1_49_0/libs/spirit/doc/html/spirit/qi/reference/directive/raw.html このディレクティブを使えばiterator_rangeを受け取れるようです
938 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 09:10:19.76 ] VisualStudio 2010 でboost::filesystem::directory_iterator の leaf() を使いたいんですが Version 1.36 では使えません、どのバージョンなら使えますか。 もしかして、まだ、未対応ですか?
939 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 09:14:06.80 ] 2年前に1.42で使ってたきがした。 少なくてもその辺以降なら使えるんじゃないだろうか。 後は詳しい人よろしく
940 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 09:26:54.17 ] leafって名前変わらなかったっけ?
941 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 10:10:51.40 ] >>938 です thx です。 ごめんなさい、バージョンを間違えていました。 boost_1_46_1 でした。が、leaf() って使えないんですね? <boost/filesystem/fstream.hpp> を調べると #if BOOST_FILESYSTEM_VERSION == 2 # include <boost/filesystem/v2/fstream.hpp> # else Visual Studio 2010 ではundef になっています? leaf() ってboost/filesystem/v2/fstream.hpp に入っているようなので どうしたら使えますか?
942 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 10:26:23.13 ] 自己解決しました マクロできってやるだけで、V2使えました。
943 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 18:33:25.03 ] leafはpathに名前変わった ってもう見てないよね
944 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 23:13:13.00 ] path().filename() だろ
945 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 00:15:07.24 ] boost.intrusive でコンテナに同じ要素を2つ以上登録するのってできないの? lets boostの例で同じ要素追加しようとしたらエラーになった lst.push_back(*pa); lst.push_back(b); lst.push_back(c); lst.push_back(*pa); ここでおかしくなる
946 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 11:28:56.17 ] auto d = *pa; lst.push_back(d); しよう
947 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 11:38:00.10 ] >>945 できない。仕組み考えればわかるだろ class hoge { hoge *prev; hoge *next; int value; } みたいな構造でprevやnextに自分自身のポインタを入れてリンクの終端を探して探索すれば無限ループになる
948 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 21:50:25.15 ] boost::interprocess::shared_ptrってプロセス間通信用の名前空間に入ってるけど、 DLLの入出力なんかに使ったら、常にexeとdllで同じバージョンに保っとかないと クラッシュするよね。なんで:interprocessの中に入ってんの?
949 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 23:31:39.75 ] >>948 ? それをいうならshared_ptrに限らず異なる領域にあるモジュール間の通信に使うものは 双方のモジュールで互換性のあるものを使わないと問題がでるけど。 (必ずしも同じバージョンの同じライブラリを使う必要はない。そのほうが単純に楽で確実性が高いだけ) それとBoost.'Interprocess'は名前どおりのプロセス間通信用に限定されたものでなくスレッド間通信用のライブラリでもある。
950 名前:デフォルトの名無しさん mailto:sage [2012/06/15(金) 22:18:05.21 ] >>949 やっぱダメなんやね。 外から見るとテンプレートで型安全。 内部ではvoid* で保持。 実装ははpimplでDLLに配置ってな感じで 自前でスマポ作らないと安全な仕様は無理か。
951 名前:デフォルトの名無しさん mailto:sage [2012/06/15(金) 22:45:31.07 ] 両方自前ならknown/rquest versionのやり取りするだけじゃん?