Boost総合スレ part9
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2010/05/28(金) 11:49:47Part 8 http://pc12.2ch.net/test/read.cgi/tech/1251446016/
part 7 http://pc12.2ch.net/test/read.cgi/tech/1232367742/
part 6 http://pc11.2ch.net/test/read.cgi/tech/1207749841/
part 5 http://pc11.2ch.net/test/read.cgi/tech/1192662575/
part 4 http://pc11.2ch.net/test/read.cgi/tech/1175663346/
part 3 http://pc11.2ch.net/test/read.cgi/tech/1158991211/
part 2 http://pc8.2ch.net/test/read.cgi/tech/1139313234/
part 1 http://pc8.2ch.net/test/read.cgi/tech/1091198276/
■関連サイト■
Boost C++ Libraries
http://www.boost.org/
Boost 翻訳プロジェクト
http://boost.cppll.jp/HEAD/
Let's Boost
http://www.kmonos.net/alang/boost/
boost info
http://shinh.skr.jp/boost/
0002デフォルトの名無しさん
2010/05/28(金) 11:51:08Boost C++をチューンアップする最先端ライブラリ
http://www.amazon.co.jp/exec/obidos/ASIN/4894714191/
Boost C++ Libraryプログラミング
http://www.amazon.co.jp/exec/obidos/ASIN/4798017043/
Beyond The C++ Standard Library
http://www.amazon.co.jp/exec/obidos/ASIN/0321133544/
C++ Template Metaprogramming
http://www.amazon.co.jp/exec/obidos/ASIN/0321227255/
The Boost Graph Library
http://www.amazon.co.jp/exec/obidos/ASIN/0201729148/
■関連スレ■
C++相談室 part81
http://pc12.2ch.net/test/read.cgi/tech/1273407971/
C++0x 9
http://pc12.2ch.net/test/read.cgi/tech/1269623636/
0003デフォルトの名無しさん
2010/05/28(金) 11:51:54https://svn.boost.org/trac/boost/wiki/BoostSandbox
Boost Vault
http://www.boostpro.com/vault/
Loki
http://sourceforge.net/projects/loki-lib/
JTC1/SC22/WG21 - The C++ Standards Committee
http://www.open-std.org/jtc1/sc22/wg21/
POCO, the C++ Portable Components
http://www.appinf.com/poco/info/
http://sourceforge.net/projects/poco/
The unofficial BCB Boost patches
http://bcbboost.sourceforge.net/
0004デフォルトの名無しさん
2010/05/28(金) 21:38:34解決策を教えて下さい。
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
0005デフォルトの名無しさん
2010/05/29(土) 22:02:1200064
2010/05/30(日) 10:57:08fiber\build\Jamfile.v2の
14行目の import pyutils ; を消す。
29行目の [ pyutils.linkage ] を "WindowsPE" に変更。
53行目の [ pyutils.architecture ] を "i386" に変更。
(pyutils.py の実行結果を直で書いた・・・)
で解決しました。
0007デフォルトの名無しさん
2010/05/31(月) 11:27:35#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
00087
2010/05/31(月) 11:47:01> io::stream_buffer<io::array_source> sb(io::array_source(buf));
が関数プロトタイプと解釈されている事が原因のようです。
これは言語的に正しい解釈なのでしょうか?
0009デフォルトの名無しさん
2010/05/31(月) 20:37:37Yes.
Effective STL に載ってる有名な落とし穴。
00107
2010/06/02(水) 11:10:46io::stream_buffer<io::array_source> sb(io::array_source buf);
という風に解釈されるんですね。
遅くなりましたがありがとうございました。
0011デフォルトの名無しさん
2010/06/07(月) 15:35:41VisualStudioの2008と2010が入っている環境でboostをビルドしたところ、msvcのバージョン指定しない場合は「〜vc100〜.lib」等が作成されました
VS2010でサンプルアプリケーションを作って実行したところ正常動作を確認したのですが、欲しかったのはVS2008用のため、msvcのバージョンを指定してビルドしたのですが、
「〜vc〜.lib」というファイルが出来あがり、VS2008でサンプルアプリケーションを作って実行したところ「〜vc90〜.lib」が見つからずエラーとなりました
古いバージョンのビルドでバージョン表記を付けてビルドするにはどうすればいいんでしょうか。
参考にしたURLこちらで、バージョン指定のビルド時は「--toolset=msvc-9_0」を指定しました
http://www.kmonos.net/alang/boost/build.html
0012デフォルトの名無しさん
2010/06/07(月) 16:55:390013デフォルトの名無しさん
2010/06/07(月) 17:33:04有難うございます助かりましたm(_ _)m
0014デフォルトの名無しさん
2010/06/08(火) 01:50:23bjam 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
ウチはこれで容量節約
0015デフォルトの名無しさん
2010/06/09(水) 03:06:45ublasで
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
0016デフォルトの名無しさん
2010/06/09(水) 03:08:190017デフォルトの名無しさん
2010/06/09(水) 03:49:150018デフォルトの名無しさん
2010/06/09(水) 07:26:59B,CをもとにA、Y,Z,WをもとにZをそれぞれ定義したいという感じです。
0019デフォルトの名無しさん
2010/06/09(水) 19:48:55ublas使うなら ttp://d.hatena.ne.jp/blono/archiveを1から読むといいよ
15が聞きたいことも頻繁にやってる(projectとかsliceとか)
0020デフォルトの名無しさん
2010/06/11(金) 01:06:06そのサイトは非常に参考にさせて貰ってます。
たぶんですけどsliceからのswapでいけるのかなぁ〜と考えてます。
ともかく色々試してみます。質問に答えてくれてありがとう。
0021デフォルトの名無しさん
2010/06/12(土) 21:45:162種類のものがあるのですが、どのような違いがあるのでしょうか?
mtというのは、VC++のランタイムライブラリ設定で"マルチスレッド"を
選んだからだと思うのですが、sという文字列の意味がわかりませんでした。
初歩的な質問かもしれないですが、教えてもらえるとうれしいです
0022デフォルトの名無しさん
2010/06/12(土) 21:46:380023デフォルトの名無しさん
2010/06/12(土) 22:40:530024デフォルトの名無しさん
2010/06/17(木) 00:54:23VC++のランタイムライブラリ設定でいうなら
マルチスレッド 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にもなるという
0025デフォルトの名無しさん
2010/06/21(月) 20:29:210026デフォルトの名無しさん
2010/06/21(月) 20:31:260027デフォルトの名無しさん
2010/06/21(月) 21:29:27おまえ goto 有害説にしか見えないぜ
0028デフォルトの名無しさん
2010/06/22(火) 08:39:32いいえ
0029デフォルトの名無しさん
2010/06/22(火) 10:58:33ごめんなさい・・・
スルーされたもんで
0030デフォルトの名無しさん
2010/06/22(火) 15:50:16そんな言い訳が通用したらマルチは存在しない。
常識で考えればちゃんと取り下げてから来いよ。
0031デフォルトの名無しさん
2010/06/22(火) 21:52:41できるけど、普通shared_ptrはコンストラクタで初期化するのだし
そういうコードが必要になるような設計に問題があると思う
if (p != NULL) {...} がバグの温床だからやめようというのと同じで
if (p.use_count()) {...} ってのも関心しない
検索してもなかなか出てこないのには好ましくないから
人に見せるような綺麗なプログラムにはあまり出てこないという背景がある
0032デフォルトの名無しさん
2010/06/23(水) 18:26:38if (shared_ptr<Hoge> p = wp.lock()) {
...
}
あたりはかなり典型的かつ有用な idiom のような?
0033デフォルトの名無しさん
2010/06/23(水) 20:36:20そのためにsafe boolが定義されてるんだから
use_count()はデバッグやテストのためであって
製品版では使うなとドキュメントに書いてあったはず
0034デフォルトの名無しさん
2010/07/02(金) 17:48:500035デフォルトの名無しさん
2010/07/07(水) 10:17:00純粋なCと速度はあんまり変わりないの?
他のboostもコンパイルに時間かかるだけで実行時間は純粋なCとあまり変わりないの?
0036デフォルトの名無しさん
2010/07/07(水) 10:36:39この世には不純なCがあるのか?
0037デフォルトの名無しさん
2010/07/07(水) 11:30:27動けわがプログラムよ!
0038デフォルトの名無しさん
2010/07/07(水) 11:53:170039デフォルトの名無しさん
2010/07/07(水) 15:04:320040デフォルトの名無しさん
2010/07/07(水) 15:13:58あなたの運命は定まるでしょう。
0041デフォルトの名無しさん
2010/07/09(金) 10:47:13boost::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 正規表現で文字列取得して配列に入れたいだけです。どうすれば良いのでしょうか?
0042デフォルトの名無しさん
2010/07/09(金) 11:05:23std::string::c_str()
まずC++の基礎を何とかしてください。
0043デフォルトの名無しさん
2010/07/09(金) 11:21:56results.str(0).c_str()
こんなのがあるなんて全然知りませんでした。
0044デフォルトの名無しさん
2010/07/09(金) 14:00:41boost::regex hosii(" *hoge *\(");←ここで止まります。ハンドルされていない例外ですと
boost::match_results<const char*> result;
boost::regex_search(data, results,hosii);
fputs(results.str(0).c_str(), wfp);
何が間違ってるのでしょうか?
エスケープシーケンスが正しくないかもしれませんみたいな警告が出てましたが何か間違ってますか?
0045デフォルトの名無しさん
2010/07/09(金) 14:08:240046デフォルトの名無しさん
2010/07/09(金) 14:14:35ありがとうございました
一見\で\が文字化されそうですね
0047デフォルトの名無しさん
2010/07/09(金) 14:54:13Static版の文法覚えちゃえば処理速度も期待できる
ただしコンパイル時間は延びる
0048Regex
2010/07/10(土) 01:03:170049progress_display
2010/07/10(土) 05:24:220050名無しさん@そうだ選挙に行こう
2010/07/10(土) 08:51:21ATLASなどを使えばSIMD対応で速いと聞く
ただATLASのコンパイルという壁が・・
0051名無しさん@そうだ選挙に行こう
2010/07/10(土) 09:17:030052名無しさん@そうだ選挙に行こう
2010/07/10(土) 10:30:030053名無しさん@そうだ選挙に行こう
2010/07/10(土) 12:17:27山のようにって言っても一部の警告がテンプレートの展開で連鎖してるんだろ
0054名無しさん@そうだ選挙に行こう
2010/07/10(土) 23:54:14でも標準入りを果たしたStd.Regexの汎用性には負ける。
0055名無しさん@そうだ選挙に行こう
2010/07/11(日) 00:09:260056名無しさん@そうだ選挙に行こう
2010/07/11(日) 20:18:20XpressiveはTMP、インタープリタ、両対応。
0057名無しさん@そうだ選挙に行こう
2010/07/11(日) 22:54:07> インタプリタパターン
> DSL
って何?パターン?
よく知らないんだけど、正規表現の業界用語?
0058名無しさん@そうだ選挙に行こう
2010/07/11(日) 23:01:35デザインパターン
005957
2010/07/11(日) 23:49:52Gang of Fourのdesign patternのこと?
インタプリタパターンなんてあった記憶が無いんだけど。
…あったし!!ごめん!
Interpreter パターン - Wikipedia
ttp://ja.wikipedia.org/wiki/Interpreter_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
0060デフォルトの名無しさん
2010/07/12(月) 08:01:49Domain Specific Language
分野特化言語
0061デフォルトの名無しさん
2010/07/12(月) 10:30:16ありがとう。
0062デフォルトの名無しさん
2010/07/12(月) 19:46:250063デフォルトの名無しさん
2010/07/13(火) 20:33:350064デフォルトの名無しさん
2010/07/17(土) 01:11:16/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 のそれが競合してる見たい何だけど、どうやれば解決できませすか。
0065デフォルトの名無しさん
2010/07/17(土) 01:29:370066デフォルトの名無しさん
2010/07/17(土) 06:20:17これか、違うか?
0067デフォルトの名無しさん
2010/07/17(土) 23:47:390068デフォルトの名無しさん
2010/07/20(火) 11:55:020069デフォルトの名無しさん
2010/07/20(火) 15:14:39標準関数はstdに入ってるよ
同時にグローバル名前空間にもぶちまかれるが
0070デフォルトの名無しさん
2010/07/22(木) 11:56:17boostより抽象度は高そうなんだが
0071デフォルトの名無しさん
2010/07/22(木) 13:21:34プログラミング自体が目的になってる方は死んで下さい
0072デフォルトの名無しさん
2010/07/22(木) 14:37:08関数解析結果がおかしくなるんだが・・・
0073デフォルトの名無しさん
2010/07/22(木) 15:22:58MPLの変な文法おぼえるよりlisp覚えたほうが得
どうせ生成されるCは同じなんだし
多分、動く奴はこれ
http://homepage.mac.com/naoki.koguro/prog/dyncomp/index-j.html
0074デフォルトの名無しさん
2010/07/22(木) 15:27:560075デフォルトの名無しさん
2010/07/22(木) 16:54:250076デフォルトの名無しさん
2010/07/22(木) 17:47:33落としてみたけどS式書いてあるファイルがみつからんよ??
0077デフォルトの名無しさん
2010/07/23(金) 02:56:100078デフォルトの名無しさん
2010/07/23(金) 16:27:02lib/cgen
の下
0079デフォルトの名無しさん
2010/07/23(金) 16:28:510080デフォルトの名無しさん
2010/07/23(金) 16:37:18ext/uvector
のMakefile
に使用例
0081デフォルトの名無しさん
2010/07/24(土) 12:02:15lispから読めるCを生成する別な方法
0082デフォルトの名無しさん
2010/08/05(木) 04:40:340083デフォルトの名無しさん
2010/08/05(木) 23:37:310084デフォルトの名無しさん
2010/08/06(金) 05:29:27まじめにお願いします。
0085デフォルトの名無しさん
2010/08/07(土) 21:52:400086デフォルトの名無しさん
2010/08/07(土) 23:06:130087デフォルトの名無しさん
2010/08/08(日) 23:56:10のコード読んでるんだが、これあったらboostいらないかもしれない
0088デフォルトの名無しさん
2010/08/11(水) 06:35:05thinlispの方がgauche.cgen.ciseよりすごいかもしれない
makefile *.hまで生成するっぽい
0089デフォルトの名無しさん
2010/08/13(金) 21:17:550090デフォルトの名無しさん
2010/08/16(月) 20:26:00の使い方をまとめた
CiSE simple example
http://d.hatena.ne.jp/niitsuma/20081113/1281521109
0091デフォルトの名無しさん
2010/08/17(火) 03:24:37Boost C++ Libraries
http://www.boost.org/
0092デフォルトの名無しさん
2010/08/17(火) 09:18:48これデバッグはしやすい?
0093デフォルトの名無しさん
2010/08/17(火) 10:19:11別にスレ建てたほうが注目してもらえるよ。
「S式でCを書くCiSEスレ」とかにすれば関数型ファンがすぐ集まるよ
0094●
2010/08/17(火) 11:20:400095デフォルトの名無しさん
2010/08/17(火) 12:54:13言語機能に組み込んで新言語つくりゃいいのに。
0096デフォルトの名無しさん
2010/08/17(火) 13:01:41言語機能で提供すべきことと
言語自身を使って作るものの
単純明快な判断基準がウケたのがC
新基準を開拓に行くと出かけて帰りが遅いのがC++
0097デフォルトの名無しさん
2010/08/17(火) 13:16:18ずっとboost.lambda使えっていわれたらどうしようかと思った
0098デフォルトの名無しさん
2010/08/17(火) 13:25:20そのための
#line
0099デフォルトの名無しさん
2010/08/17(火) 14:44:32lispの便利さを知ってしまうと他を使いたくなくなる
(コマンドラインgcc からVisualStudioに移ったぐらいの便利さがある)
しかし他から「成果はCかC++で納めてくれ」と言われることは多いらしく
cise とかthinlispとかこの手の試みがいろいろされてきたようだ
0100デフォルトの名無しさん
2010/08/17(火) 15:35:020101デフォルトの名無しさん
2010/08/17(火) 15:50:020102デフォルトの名無しさん
2010/08/17(火) 18:11:440103デフォルトの名無しさん
2010/08/26(木) 16:40:58boost::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
のようにしたいです。
0104デフォルトの名無しさん
2010/08/26(木) 17:31:03for( 〜 ) {
0105デフォルトの名無しさん
2010/08/26(木) 17:33:26for( 〜 ) {
cout << *p + " ";
}
cout << endl;
とでもすればいい
そういう問題じゃないのか?
0106デフォルトの名無しさん
2010/08/30(月) 14:01:04for(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ファイルに出力したいのですがどうすればよいでしょうか?
0107デフォルトの名無しさん
2010/08/30(月) 14:05:26Boostの埒外なので勝手にどうぞ。
0108デフォルトの名無しさん
2010/08/30(月) 14:09:410109デフォルトの名無しさん
2010/08/30(月) 14:21:29TabSeparatedValueフォーマットの略。
0110デフォルトの名無しさん
2010/08/30(月) 14:34:04申し訳ありませんでした。
0111デフォルトの名無しさん
2010/08/30(月) 15:03:41トンクス、tab区切りなのか・・・。
0112デフォルトの名無しさん
2010/09/01(水) 12:12:260113デフォルトの名無しさん
2010/09/01(水) 16:41:370114デフォルトの名無しさん
2010/09/03(金) 22:32:03boost::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まで全て取り出すにはどうしたらいいですか?
実際はもっと複雑なフォーマットなので正規表現でなんとかしたいです。
0115デフォルトの名無しさん
2010/09/03(金) 23:00:26ただのカンマ区切りならboost::tokenizerじゃだめなの?
0116デフォルトの名無しさん
2010/09/04(土) 20:16:450117デフォルトの名無しさん
2010/09/06(月) 10:13:54ダブルクォートの処理とかマジめんどい
0118デフォルトの名無しさん
2010/09/06(月) 23:34:29なかなかいい感じ。
でもまだ機能が少ないな。
他の表現法からの取り込み対応も必要だ。
0119デフォルトの名無しさん
2010/09/07(火) 14:20:330120デフォルトの名無しさん
2010/09/07(火) 14:44:58点とか矩形みたいな基本図形もある
0121デフォルトの名無しさん
2010/09/07(火) 14:55:090122デフォルトの名無しさん
2010/09/09(木) 22:50:01例えば、Win上で64bitアプリとWOW64で動いてる32bitアプリ間で
相互通信する場合はやっぱboost.mpiじゃないと駄目?
0123デフォルトの名無しさん
2010/09/12(日) 19:09:03そこはほら、Boost.Spiritで
0124デフォルトの名無しさん
2010/09/12(日) 22:15:08いまいち使い方わかってないんだが、ググってみたらCSVのパースも
シンプルな式になるもんだな・・・
面白そうだから今度やってみよう。
教えてくれてトン。
0125デフォルトの名無しさん
2010/09/15(水) 14:59:21ってファイル名使いたい
でもboostではfoo_baa.cpp
なんだよね
FreeBSDのxtermだと _ 消えて見えないから見にくい
0126デフォルトの名無しさん
2010/09/15(水) 21:55:24boostpro からも1.44のインストーラが出てますね。
http://www.boostpro.com/download/
0127デフォルトの名無しさん
2010/09/19(日) 14:37:09つうかreview scheduleにLoggingもあるんだけど
やつ間接的にLogに殺されたということなのか
Loggingは犠牲になったのか…
0128デフォルトの名無しさん
2010/09/20(月) 16:01:060129デフォルトの名無しさん
2010/09/20(月) 18:06:310130デフォルトの名無しさん
2010/09/20(月) 22:04:00string 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 );
これはエラーが出る。何か間違ってるかな
0131デフォルトの名無しさん
2010/09/21(火) 01:36:25…はないかw
0132デフォルトの名無しさん
2010/09/21(火) 04:18:26試してみたけど、PHOENIX_LIMIT のコンパイルエラー以外は普通に通ったぞ(Boost 1.44 + VC9)
とりあえずエラーの内容と環境貼れよ。
0133デフォルトの名無しさん
2010/09/21(火) 21:19:18すまん、勘違いしていたようだorz
しょーもないミスをしていた。自己解決したんでスルーしてください
std::abs(long long)が無いってエラーになる。
0135デフォルトの名無しさん
2010/09/22(水) 03:51:58std::abs(int64_t)もstd::abs(__int64)も無い。
0137デフォルトの名無しさん
2010/09/22(水) 12:29:350138デフォルトの名無しさん
2010/09/22(水) 15:34:540139デフォルトの名無しさん
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");
とするのはいいのですが、復号のときに暗号化されたファイルを
読み込んで処理しても復号できない。
何のデータにばけているのかわかりません。
0140デフォルトの名無しさん
2010/09/24(金) 13:50:310141デフォルトの名無しさん
2010/09/24(金) 14:07:470142デフォルトの名無しさん
2010/09/24(金) 15:35:38そこに気付くとは・・・やはり天才・・・
0143デフォルトの名無しさん
2010/09/24(金) 18:05:290144デフォルトの名無しさん
2010/09/24(金) 19:49:200145デフォルトの名無しさん
2010/09/24(金) 20:04:260146デフォルトの名無しさん
2010/09/24(金) 21:01:53コンパイラがクラッシュするって本格的だな。
でも実行時にクラッシュするよりはマシだと思うけど。
0147デフォルトの名無しさん
2010/09/24(金) 23:02:26クラッシュしないように使えば問題ない
0148デフォルトの名無しさん
2010/09/24(金) 23:21:10なぜMatz
0149デフォルトの名無しさん
2010/09/25(土) 00:01:53本能が何かを感じたようだ
0150デフォルトの名無しさん
2010/09/25(土) 01:11:10本体の安定性もだが、OSだとサードのソフトが、VSだとプラグインやSDK類の対応がすぐには為されないからな
0151デフォルトの名無しさん
2010/09/30(木) 21:40:06メモリリークが発生してしまいます
↓のようなコードなのですがどこがおかしいんでしょう?
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)ではなく、関数で行うとメモリリークは起きません
0152デフォルトの名無しさん
2010/10/07(木) 16:17:32boostはちゃんと動くの?
0153デフォルトの名無しさん
2010/10/07(木) 16:30:030154デフォルトの名無しさん
2010/10/13(水) 20:14:50なんかいい方法無いでしょうか
0155デフォルトの名無しさん
2010/10/13(水) 20:19:550156デフォルトの名無しさん
2010/10/13(水) 20:26:10visitorとは何でしょうか?
0157デフォルトの名無しさん
2010/10/13(水) 20:32:21http://www.kmonos.net/alang/boost/classes/variant.html
ここ見てもわからなかったら氏ね。
0158デフォルトの名無しさん
2010/10/13(水) 20:37:35/⌒ヽ) もはようちゃん
i三 U
〜三 |
(/~∪
三三
三三
三三
0159デフォルトの名無しさん
2010/10/13(水) 20:56:270160デフォルトの名無しさん
2010/10/14(木) 01:18:45オブジェクトはひとつでいい。すべての型に対応するオーバーロードがあれば。
>>154
if (T* p = boost::get<T>(&v)) ... おすすめ。
0161デフォルトの名無しさん
2010/10/14(木) 20:18:360162デフォルトの名無しさん
2010/10/15(金) 01:18:060163デフォルトの名無しさん
2010/10/23(土) 17:09:18機能追加するので全面書き直しOKという前提で。
0164デフォルトの名無しさん
2010/10/23(土) 17:33:40Boost.Fusionとの連携もすごい。Boost.Qi も出始めと比べて安定して枯れてきてる。
Classic のコードを保守しなくていいなら乗り換えない理由はないと思う。
0165デフォルトの名無しさん
2010/10/23(土) 18:28:440166デフォルトの名無しさん
2010/10/23(土) 18:32:060167デフォルトの名無しさん
2010/10/23(土) 18:37:36わかった。乗り換えてみるよ。
0168デフォルトの名無しさん
2010/10/28(木) 15:41:30何のベンチマークだよこれ
0169デフォルトの名無しさん
2010/10/31(日) 13:12:331>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' : テンプレート定義にはなれません。
リビルドしてもこのエラーが出ることもあるしでないこともあるし、出現位置もバラバラで全く原因がわかりません
上記ファイルを使用する機能や上記エラー内容が分かれば教えてください
0170デフォルトの名無しさん
2010/10/31(日) 13:31:520171デフォルトの名無しさん
2010/10/31(日) 13:33:440172デフォルトの名無しさん
2010/10/31(日) 13:34:510173デフォルトの名無しさん
2010/10/31(日) 13:37:170174デフォルトの名無しさん
2010/10/31(日) 13:39:43x86ターゲット、デバッグビルド
CPUはCore2Duoです
0175デフォルトの名無しさん
2010/10/31(日) 13:42:54コンパイラのバグかな?
0176デフォルトの名無しさん
2010/10/31(日) 13:55:440177デフォルトの名無しさん
2010/10/31(日) 17:10:56VC10なら使える人が多いんだから、エラーの出るソース晒してみそ
ビルドのやり直しで通るなら、簡易ビルドをOFFにしてみるてがある。
0178デフォルトの名無しさん
2010/10/31(日) 20:35:590179デフォルトの名無しさん
2010/10/31(日) 22:18:47レスありがとうございます
boostのディレクトリを丸々コピー→古いのを削除→新しいのをリネームしたら出なくなったっぽいです。
ディスク障害だったのかな・・・しばらく様子を見てみます
0180デフォルトの名無しさん
2010/11/01(月) 15:21:45lisp使うようになってからは
lispでデバックしてc++は自動生成するだけだわ
それにしてもc++の案件多いなあ
0181デフォルトの名無しさん
2010/11/01(月) 15:25:02最近のlispはC++にコンバートできるんだ?
Cへのコンバートなら良く見かけるんだけど・・・。
あとSchemeで実用レベルのCorC++コンバーターとかあります?
0182デフォルトの名無しさん
2010/11/01(月) 15:30:32Lispのどこらへんが魅力ですか? いや、マジに質問で。そっちのが効率いいなら
そっちに乗り換えるのもありかなと。
0183デフォルトの名無しさん
2010/11/01(月) 16:38:020184デフォルトの名無しさん
2010/11/01(月) 17:46:130185デフォルトの名無しさん
2010/11/01(月) 21:37:580186デフォルトの名無しさん
2010/11/01(月) 21:58:240187デフォルトの名無しさん
2010/11/01(月) 22:55:590188デフォルトの名無しさん
2010/11/02(火) 11:08:280189デフォルトの名無しさん
2010/11/02(火) 12:49:370190デフォルトの名無しさん
2010/11/02(火) 20:02:110191デフォルトの名無しさん
2010/11/02(火) 22:06:400192デフォルトの名無しさん
2010/11/04(木) 08:26:01tomcatあたりをc++としてコンパイルしたらいいんでないの?
0193デフォルトの名無しさん
2010/11/05(金) 00:45:010194デフォルトの名無しさん
2010/11/05(金) 15:28:14ポインタで共有するんじゃなくて内容丸ごとコピーするのね
普通の配列みたいに共有して、不要になったら解放ってできないかな
shared_ptr<multi_array<T,int>>にするしかない?
0195デフォルトの名無しさん
2010/11/05(金) 15:31:04「普通の配列」が何を指してるのか知らないけど、言語組み込みの配列も std::vector も
boost::array も共有なんて動作はしません。
で、共有したいという目的に対して shared_ptr では何か不満なの?
0196デフォルトの名無しさん
2010/11/05(金) 15:31:390197デフォルトの名無しさん
2010/11/05(金) 15:37:23http://www.boost.org/doc/libs/1_44_0/libs/multi_array/doc/reference.html
multi_array_ref やら view generator やらあるらしいぞ。
0198デフォルトの名無しさん
2010/11/05(金) 15:37:300199デフォルトの名無しさん
2010/11/05(金) 15:47:220200194
2010/11/05(金) 16:05:03クラスメンバに多次元配列がほしいのですが、コンパイル時にサイズが不明なので、
言語組み込みの配列の配列を動的に確保して、多次元配列にしていました
管理が面倒なのでmulti_arrayを使うことに変更したいのですが、
インスタンスをコピーすることがままある&配列の中身は変えないので、
どうせなら配列の中身を丸ごとコピーしないで、ポインタだけで共有したいな、と
目的にはshared_ptr<multi_array<T,int>>が一番合致するんですが、
そうすると結構ソースコードを書き換える必要があるので
0201デフォルトの名無しさん
2010/11/05(金) 16:17:11*とか->の話なのか?
0202デフォルトの名無しさん
2010/11/06(土) 01:48:28そんなに書き換えがいやなら、元の名前で multi_array<T,int>& とか multi_array_ref とかを
別で置いたらいいんじゃね?
0203デフォルトの名無しさん
2010/11/06(土) 07:41:40参照渡しで渡せばよくないか?
0204デフォルトの名無しさん
2010/11/20(土) 09:47:50Boost C++ Libraries
http://www.boost.org/
0205デフォルトの名無しさん
2010/11/20(土) 12:08:551.44以前や最新のリポジトリだと問題ないんだが
0206デフォルトの名無しさん
2010/11/20(土) 16:58:02bjamがアンチウイルスに引っかかることは昔あったな。
0207デフォルトの名無しさん
2010/11/20(土) 17:07:410208205
2010/11/20(土) 19:08:36解凍か何かでしくじってたんではないかと思う
0209デフォルトの名無しさん
2010/11/20(土) 19:58:30MPICHも絡んでるかもしれん
bjamはフル機能でビルドしようとすると途端に動作がおかしくなるんだよな・・・
0210デフォルトの名無しさん
2010/11/20(土) 23:59:36わけわからんちん
0211デフォルトの名無しさん
2010/11/21(日) 00:41:530212デフォルトの名無しさん
2010/11/21(日) 00:56:26bootstrap.bat で生成したbjam.exeだとコンパイルできた…
そういうものなの?
0213デフォルトの名無しさん
2010/11/21(日) 00:58:170214210
2010/11/21(日) 02:54:08>>212のレスを見て1.45リリース版のソースからビルドしたbjam.exeを使ったらビルド出来た
今回のリリースはちょっと癖があるな
0215デフォルトの名無しさん
2010/11/21(日) 10:39:020216207
2010/11/21(日) 13:36:23間違えてx86でライブラリビルドしてx64のアプリをビルドしてました。
x64でboostのビルドやり直したら直った。
0217デフォルトの名無しさん
2010/11/21(日) 13:43:430218デフォルトの名無しさん
2010/11/21(日) 16:34:150219デフォルトの名無しさん
2010/11/21(日) 16:35:04/ / '" / / ,,-、 /、ヽ\ ゙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' ゙'':::::::::::::::::::::::}
0220デフォルトの名無しさん
2010/11/21(日) 20:05:130221デフォルトの名無しさん
2010/11/21(日) 21:04:11どうやってきりかえるん?
0222デフォルトの名無しさん
2010/11/22(月) 06:55:090223デフォルトの名無しさん
2010/11/23(火) 12:58:51容量でか杉わろす
0224デフォルトの名無しさん
2010/11/23(火) 19:41:47自分はstage派だから--stagedir=stage32とstage64
0225デフォルトの名無しさん
2010/11/24(水) 23:04:47自前 gcc-4.5.1,4.5.2(win) では、build に成功するのにヽ(`Д´)ノウワァァァン
0226デフォルトの名無しさん
2010/11/25(木) 01:37:45コンパイルに時間かかるね
0227デフォルトの名無しさん
2010/11/25(木) 01:47:270228デフォルトの名無しさん
2010/11/25(木) 02:07:170229デフォルトの名無しさん
2010/11/25(木) 02:25:050230デフォルトの名無しさん
2010/11/25(木) 06:42:52(´・ω・) 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, ・・・ < 略 >
0231デフォルトの名無しさん
2010/11/25(木) 09:26:14さっさとBoostコミュに報告しろ
0232デフォルトの名無しさん
2010/11/25(木) 12:57:09相談したいならエラーメッセージを省略とか、わけわからんことするな。
0233デフォルトの名無しさん
2010/11/25(木) 16:06:27またおまえか。
0234デフォルトの名無しさん
2010/11/25(木) 16:10:26CYGWIN+MinGW+GCCスレでもずっとこの調子で長期にわたって
住民を困らせてるやつだから相手にしないほうがいいぞ。
0235デフォルトの名無しさん
2010/11/25(木) 18:23:07ならば死ぬがよい
0236うp
2010/11/28(日) 23:31:48DLキー:1
0237うp
2010/11/29(月) 05:34:15DLキー:1
0238デフォルトの名無しさん
2010/12/09(木) 08:16:180239デフォルトの名無しさん
2010/12/09(木) 08:20:50は何故採択されなかったのか
0240デフォルトの名無しさん
2010/12/09(木) 08:44:11がレビュースケジュールに入ってない
結局入るの?
0241デフォルトの名無しさん
2010/12/09(木) 20:24:21CMyClass* pthis = this;
BOOST_SCOPE_EXIT((&pthis))
{
pthis->MemberFunc();
}
BOOST_SCOPE_EXIT_END;
こうしないと駄目?
0242デフォルトの名無しさん
2010/12/13(月) 12:26:330243デフォルトの名無しさん
2010/12/20(月) 01:55:11のようにboost_arrayにstaticを付けるとvc2005ではデバッグ時にシンボルとして扱ってくれずに
ブレークポイントもウォッチも出来なくなりました。
これはboost::arrayをstaticにしてはだめということでしょうか?
それともvc2005が対応してないだけなのでしょうか?
0244デフォルトの名無しさん
2010/12/21(火) 12:00:21array<int, 3> a = {1,2,3};の要素数は推測して欲しいです。
0245デフォルトの名無しさん
2010/12/21(火) 12:07:200246デフォルトの名無しさん
2010/12/21(火) 12:27:22その場合begin()やend()が提供されません
0247デフォルトの名無しさん
2010/12/21(火) 13:00:030248デフォルトの名無しさん
2010/12/21(火) 14:57:50あり^^
0249デフォルトの名無しさん
2010/12/24(金) 08:56:10is_foo
なんだろう
0250デフォルトの名無しさん
2010/12/24(金) 09:03:350251デフォルトの名無しさん
2010/12/24(金) 13:22:560252デフォルトの名無しさん
2010/12/24(金) 22:57:42Win32の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' に変換できません
どう書いたら通るんでしょうか。よろしくお願いします
0253デフォルトの名無しさん
2010/12/24(金) 23:10:30静的なメンバ作ってそこから呼ぶしかない
0254デフォルトの名無しさん
2010/12/24(金) 23:22:330255デフォルトの名無しさん
2010/12/25(土) 00:12:42動的に生成して…とか考え始めて無駄な時間を過ごすのが俺は好き。
0256デフォルトの名無しさん
2010/12/25(土) 00:53:02std::functionを使えばいい。
std::functionのオブジェクトのポインターをLPARAMとかを経由して渡す
コールバック関数は、ポインター経由でfunctionを使う。
0257デフォルトの名無しさん
2010/12/25(土) 09:05:050258デフォルトの名無しさん
2010/12/25(土) 09:40:300259デフォルトの名無しさん
2010/12/26(日) 15:12:02class 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基準満たしてなくてもいいです
0260デフォルトの名無しさん
2010/12/26(日) 15:13:02q.front().f(); // hoge::f
q.front().f(); // fuga::f
↓
q.front().f(); // hoge::f
q.pop();
q.front().f(); // fuga::f
0261デフォルトの名無しさん
2010/12/26(日) 15:15:32本当にほしいなら ptr_vector をラップすりゃいいんだろうけど、
あんまり意味があるとは思わんな。
0262デフォルトの名無しさん
2010/12/28(火) 00:43:510263デフォルトの名無しさん
2010/12/28(火) 01:19:47難しそうではあるが気になるニュースタイトルに飛んでみると記事に対する2ちゃんねらー達の面白い書き込みによってニュースの内容があっという間に理解出来る様になる。
おれは今まで半ば義務感でニュースをサイトなどに目を通していただけなのだが、2chニュースのお陰で仲間の誰よりも時事問題の先端を行く様になってしまった。もはや中毒気味になる位にニュースが毎日楽しくて仕方ない。
ここでは敢えて四つしか取り上げないが、2NNサイト内であればどの掲示板でもRSS生成が可能。
サイトを覗くだけでも良いがRSSリーダーで効率良く情報収集する人ならばこちらがオススメ。(RSSリーダーは各デバイスに応じた専用アプリ・ソフトがある)
またTwitterでも2ch botがある。Twitterは各デバイスに応じた専用クライアントソフト・アプリを介して使用するのが便利。興味が有る人は各々調べて貰いたい。
●2ちゃんねる ニュースサイト(RSS生成可)
2NN新着http://www.2nn.jp/latest/
2NNトップページhttp://www.2nn.jp/
2NN今日のニュース http://www.2nn.jp/ranking/today/
2NN祭級ニュース http://www.2nn.jp/matsuri/
●2ちゃんねる ニュースサイト(RSS生成不可)
2ちゃんねる BBY(各ニュース板における前日までの新着スレッドが一望出来る)http://headline.2ch.net/bbynews/
2ちゃんねる 全板縦断 勢いランキングhttp://2ch-ranking.net/index.html?board=zenban
?page=click_linklog_view.daily_ranking&
0264デフォルトの名無しさん
2011/01/02(日) 15:17:28boost1.45 をこのようにインストールしたんだが大丈夫?
0265デフォルトの名無しさん
2011/01/02(日) 15:18:16bootstrap.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
0266デフォルトの名無しさん
2011/01/05(水) 18:01:170267デフォルトの名無しさん
2011/01/08(土) 16:57:40・・・ところでBoost.Chronoってナニ?
0268デフォルトの名無しさん
2011/01/08(土) 21:44:440269デフォルトの名無しさん
2011/01/10(月) 16:48:230270デフォルトの名無しさん
2011/01/10(月) 16:54:510271デフォルトの名無しさん
2011/01/14(金) 13:16:14boost で document を作成したいのですが、
その時、doxygen に対して オプションを渡したいです。
doxygen 単体の実行であれば、Doxyfile に書き込むものです。
色々調べて、jam ファイルの中に
<doxygen:param>VAR=VAL
と、いった記述を見かけたのですが、書き方がわかりません。
質問をまとめると、
boost 全体の document 作成に対して、効かせたい doxygen の設定がある場合、
* どこのファイルに
* どのように
記述したらいいのかということです。
ご存じの方、教えていただけないでしょうか?
0272デフォルトの名無しさん
2011/01/14(金) 18:25:03http://dixq.net/forum/viewtopic.php?f=3&t=1965
0273デフォルトの名無しさん
2011/01/15(土) 10:36:390274xfsd
2011/01/24(月) 22:12:44。教えてくれませんか
0275デフォルトの名無しさん
2011/01/24(月) 23:21:30まずは作ってみたコードと、うまくいかなかかった結果と、期待している結果とがわかるようにするんだ。
0276デフォルトの名無しさん
2011/01/24(月) 23:37:08いれろよ
おねがいします。
0277xfsd
2011/01/25(火) 23:06:59#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;
}
行列*ベクトルはできたのですが、区間行列*ベクトルができません。誰か教えてくれませんか?
0278デフォルトの名無しさん
2011/01/26(水) 14:44:54Mat M = (Mat_<double>(3,3) << 1, 0, 0, 0, 1, 0, 0, 0, 1);
0279デフォルトの名無しさん
2011/01/27(木) 07:14:46最近のアップデートで初期化メソッドが追加になったはず
0280デフォルトの名無しさん
2011/01/30(日) 20:49:030281デフォルトの名無しさん
2011/01/30(日) 21:04:050282デフォルトの名無しさん
2011/01/30(日) 21:12:540283デフォルトの名無しさん
2011/01/30(日) 21:15:50ねむい
0284デフォルトの名無しさん
2011/01/31(月) 08:38:030285デフォルトの名無しさん
2011/02/04(金) 18:19:571_44で追加
https://svn.boost.org/trac/boost/ticket/4034
0286デフォルトの名無しさん
2011/02/04(金) 23:15:440287デフォルトの名無しさん
2011/02/05(土) 03:40:46コンピューターサイエンスは世界のライブラリに名を連ねる事ができないのか
0288デフォルトの名無しさん
2011/02/05(土) 03:42:480289デフォルトの名無しさん
2011/02/05(土) 03:48:100290デフォルトの名無しさん
2011/02/05(土) 17:47:23日本って,他の奴の成果をtake,take,and takeで自分の成果は情け無い程度giveするが国技
だからコンピューターサイエンス(IT)でも他の奴の成果をtake,take,and takeし
自分の成果は情け無い程度にgive。
0291デフォルトの名無しさん
2011/02/05(土) 18:33:29giveした所で誰も反応してくれないからなあ。
0292デフォルトの名無しさん
2011/02/05(土) 19:23:39キンタマ付いてんのかお前
0293デフォルトの名無しさん
2011/02/05(土) 19:25:13責任取れるのかお前
0294デフォルトの名無しさん
2011/02/05(土) 19:32:010295デフォルトの名無しさん
2011/02/05(土) 19:32:150296デフォルトの名無しさん
2011/02/05(土) 19:38:330297デフォルトの名無しさん
2011/02/05(土) 19:45:59あまりにも情け無いgiveでゴミ扱いなんだろ
本人が凄いgiveと思っているだけじゃね
0298デフォルトの名無しさん
2011/02/05(土) 19:55:10思いついた奴が生きているうちかどうかもわかんねえ
大勢に知らしめるところまでが、思いついた奴にできることだ
芽が出るにせよ出ないにせよガタガタさわぐのはみっともないだけだ
俺に言わせれば思いつくこと自体に満足できない奴は俗物だ
0299デフォルトの名無しさん
2011/02/05(土) 21:39:490300デフォルトの名無しさん
2011/02/05(土) 22:13:47例えば周波数帯の合わない検波器の使い方とか
「ある処理」を非再帰で片付ける方法とか
0301デフォルトの名無しさん
2011/02/05(土) 22:21:400302デフォルトの名無しさん
2011/02/05(土) 22:56:490303デフォルトの名無しさん
2011/02/06(日) 15:51:560304デフォルトの名無しさん
2011/02/06(日) 15:53:39とかわ言わないよな?
0305デフォルトの名無しさん
2011/02/06(日) 16:30:300306デフォルトの名無しさん
2011/02/06(日) 17:04:52boost のライセンスと相容れないものは
とりあえず boost と無関係
0307デフォルトの名無しさん
2011/02/07(月) 06:24:52Haskellのライブラリなんか殆どが何に使えるのかわからん
0308デフォルトの名無しさん
2011/02/07(月) 07:00:45組み込み言語のほうで構文決めたいんですが。
0309コピペのレビューお願いします
2011/02/07(月) 14:08:05観客席で応援として太鼓を叩くだけだった体たらく
今や世界のインテルに移籍して
口だけじゃなく世界一のSBを目指してる
頑張ればお前らだって(精神の)怪我で社会出場どころか
2ちゃんねるでキーボードと情弱叩くだけだった体たらくから
5年後にはBoostにライブラリを採択されるような
世界級プログラマになってるかもだぞ!
早く世界のインテルに移籍して
愚痴だけじゃなく世界一のSEを目指せ!Σd(`・ω・´)
0310デフォルトの名無しさん
2011/02/07(月) 14:52:260311デフォルトの名無しさん
2011/02/07(月) 15:05:00もしかしてBoostのこともPythonのことも一切分かってない馬鹿なら
並べて云々できるってことなのか…
0312デフォルトの名無しさん
2011/02/07(月) 15:14:290313デフォルトの名無しさん
2011/02/07(月) 15:15:04ほっとこうぜ
0314デフォルトの名無しさん
2011/02/07(月) 16:58:33うまくないし何か痛いわ
0315デフォルトの名無しさん
2011/02/07(月) 18:18:00面倒臭いので、"Boost"という単純な名前にしてしまった
これだとパッと見バージョンを間違える事があるけどいちいちプロジェクトを
書き換えなくていい
0316デフォルトの名無しさん
2011/02/07(月) 18:46:520317デフォルトの名無しさん
2011/02/08(火) 02:01:41あり^^
0318デフォルトの名無しさん
2011/02/08(火) 09:15:58D はもう終わってる
Boost はまだ始まっていない
0319デフォルトの名無しさん
2011/02/09(水) 19:29:010320デフォルトの名無しさん
2011/02/09(水) 19:38:460321デフォルトの名無しさん
2011/02/09(水) 20:03:270322デフォルトの名無しさん
2011/02/09(水) 21:05:15もしかしてBoostのこともPythonのことも一切分かってない馬鹿なら
並べて云々できるってことなのか…
0323デフォルトの名無しさん
2011/02/09(水) 21:09:250324デフォルトの名無しさん
2011/02/09(水) 21:33:300325デフォルトの名無しさん
2011/02/10(木) 19:42:540326デフォルトの名無しさん
2011/02/11(金) 14:50:49使ってる人がいればどんなふうに使ってるのか教えてくれ
0327デフォルトの名無しさん
2011/02/17(木) 13:42:37Pythonはそんなに優遇されてるの?
0328デフォルトの名無しさん
2011/02/17(木) 14:28:430329デフォルトの名無しさん
2011/02/17(木) 16:11:310330デフォルトの名無しさん
2011/02/19(土) 21:23:39.09誰と闘ってるんだ
0331デフォルトの名無しさん
2011/02/20(日) 16:43:59.530332デフォルトの名無しさん
2011/02/20(日) 18:49:18.02classをデータとして登録してみたのですが、
get<0>()で取得した場合、constメンバ関数しかアクセスできませんでした。
BOOST_FOREACH( const Hoge& h,hoge.get<0>())
{
h.test();
}
constを付けないとコンテナ側のコンパイルエラーとなってしまい、
constを付けると test()がコンパイルエラーとなってしまいます。
multi_index_containerは、const利用が前提なのでしょうか?
それとも、constを外して利用する手段は存在しますか?
一応、get<0>()以外にそういった用途の物がありそうなのですが、
見つけられなかった・・。
0333デフォルトの名無しさん
2011/02/20(日) 19:13:14.44自由に要素を書き換えられたら要素のソート状態が崩れるだろ。
0334デフォルトの名無しさん
2011/02/20(日) 19:15:48.26すっきりしました、ありがとうございます。
0335デフォルトの名無しさん
2011/02/21(月) 21:01:12.20日本語の一文字に対応させることってできます?
0336デフォルトの名無しさん
2011/02/21(月) 21:10:57.750337デフォルトの名無しさん
2011/02/21(月) 21:23:14.070338337
2011/02/21(月) 21:51:13.440339デフォルトの名無しさん
2011/02/21(月) 21:53:21.410340デフォルトの名無しさん
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/
0341デフォルトの名無しさん
2011/02/22(火) 15:49:23.13http://www.boost.org/
0342デフォルトの名無しさん
2011/02/23(水) 13:57:57.13ttp://www.boost.org/doc/libs/1_46_0/libs/regex/doc/html/index.html
wregexについての記述が見当たらないんですが、
この中にありますか?
なんか探しても見つかりません…
0343デフォルトの名無しさん
2011/02/23(水) 14:07:55.35これだろ
0344デフォルトの名無しさん
2011/02/23(水) 14:15:50.98ttp://www.boost.org/doc/libs/1_46_0/libs/regex/doc/html/boost_regex/ref/basic_regex.html
あるよ
0345デフォルトの名無しさん
2011/02/23(水) 15:37:32.53ありがとうございます。
0346デフォルトの名無しさん
2011/02/23(水) 19:17:49.15フォントによっては区別つかねーよ
0347デフォルトの名無しさん
2011/02/23(水) 19:29:12.480348デフォルトの名無しさん
2011/02/23(水) 19:47:02.23名前からすると間隔つーか値の範囲を持ったオブジェクトあたり?
0349デフォルトの名無しさん
2011/02/23(水) 22:29:37.030350デフォルトの名無しさん
2011/02/24(木) 16:53:06.62数直線状の任意の部分を表すには[1,3)と[3,5)と[7,9)みたいに複数の区間がいるから
それを扱うものなんじゃないか?
0351デフォルトの名無しさん
2011/02/24(木) 16:53:49.110352デフォルトの名無しさん
2011/02/25(金) 06:48:04.25それを実現するのが interval_set
interval_set 間の集合演算もできる。
interval_map というのもあってこっちは各区間に値を付けられる。
{[1,3]->1} に [2,4]->1 を追加すると {[1,2)->1,[2,3]->2,(3,4]->1}になる、多分。
0353デフォルトの名無しさん
2011/02/25(金) 20:22:58.92boost::wsmatch m;
wstring s = L"ほげ";
boost::regex_search(s, m, r);
これで、
sub_match.hpp(429)
: error C2679: 二項演算子 '<<' : 型 'std::basic_string<_Elem,_Traits,_Ax>' の
右オペランドを扱う演算子が見つかりません (または変換できません)。
とかいうエラーがでるんですがなんなんでしょう?
0354デフォルトの名無しさん
2011/02/25(金) 22:44:46.42boost_145@MSVC2010
エラー無し
boostのバグじゃね?
あいつらワイド文字気分で作って大してテストもしてねぇから
0355デフォルトの名無しさん
2011/02/25(金) 23:01:29.370356デフォルトの名無しさん
2011/02/28(月) 16:34:27.96以下ページにあるC++0x用LINQメソッドを
http://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) { } // コンパイルエラー
http://ideone.com/Iu133 (boostの環境が作れなかったのでソース閲覧用に)
iteratorのBOOST_FOREACHに対する要件が足りていないのかと思い、
iterator_adaptorやiterator_facadeを
const_iteratorに継承させたりしてみたのですが、
私がこれらをあまり理解出来ていないこともあってか
最終的にコンパイルエラーを取り除くことが出来ませんでした。
(あとtypedef const_iterator iterator;も追加してみました)
どなたか解決のヒントをいただけませんでしょうか?
0357デフォルトの名無しさん
2011/02/28(月) 17:24:43.30例えば?
0358デフォルトの名無しさん
2011/03/01(火) 02:11:17.740359デフォルトの名無しさん
2011/03/01(火) 09:41:42.85答えてもらう気ないだろ
0360デフォルトの名無しさん
2011/03/01(火) 09:49:27.12立たないことは無いけど、異様に長いし、エラーをピンポイントで指摘してないし。
結局、行番号を頼りに修正することが多い。
0361356
2011/03/01(火) 10:40:42.97In 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_'
0362356
2011/03/01(火) 11:12:03.69イテレータの解釈辺りでtypeのtypedefが無いということのようなので、
イテレータがforeachの走査対象に足る要件を満たしていないのかなと判断しました。
iterator_adaptors系を使えば良い感じに揃えてくれるのかな?と思ったのですが、
それらを用いるコードが私の理解ではきちんと書けていない状況です。
0363デフォルトの名無しさん
2011/03/01(火) 13:34:43.76cpanオーサーに日本人増えてきたらこんな事件おきたり
http://www.yabbforum.com/community/YaBB.pl?num=1286567562
phpが「流行」したりする謎を知らないのかな
0364デフォルトの名無しさん
2011/03/01(火) 17:18:11.86STLコンテナのinsert等にrangeを渡したりは出来ないんでしょうか?
begin/endを呼ぶためだけに変数に格納するのが何かおかしく感じます。
0365デフォルトの名無しさん
2011/03/01(火) 21:17:41.84>イテレータの解釈辺りでtypeのtypedefが無いということのようなので、
>イテレータがforeachの走査対象に足る要件を満たしていないのかなと判断しました。
多分違う。エラーが出てるのは mpl::eval_if のところなのでここでエラーの出てる type は
mpl のメタ関数としての type だ。
あとエラーの出てる行は古いコンパイラ用の workaround のところで VC++ .NET 2002 以前を使ってる場合に
当たるんだけど C++0x 向けでラムダ式とか使ってるみたいだしなんかどっかおかしそう。
0366デフォルトの名無しさん
2011/03/01(火) 21:25:53.46コンテナにメンバ関数を追加するわけにはいかにので別途アルゴリズムが用意されてる。
http://www.boost.org/doc/libs/1_46_0/libs/range/doc/html/range/reference/algorithms/new.html
0367356
2011/03/02(水) 03:39:10.88なるほと・・、私の見当違いだったんですね。
マクロシンボルでの分岐をトレースして原因を調べてみたいと思います。
おかげで一歩前へ進めます。どうもありがとうございました。
0368364
2011/03/02(水) 04:08:56.10おぉぉありがとうございます!
これでbegin/endのタイプ量が激減してソース横幅も縮みそうです。
やはりきちんと用意されているものなのですね。
ただメンバ関数とは書く順番が変わってしまうのですか・・
黒魔術的な何かで何とかされているかと思っていたので少し残念です。
C++にも拡張メソッドが欲しくなりますね。
0369デフォルトの名無しさん
2011/03/02(水) 18:19:07.50なんぞ不具合でもあったのかしら
0370デフォルトの名無しさん
2011/03/03(木) 00:50:04.85そこのconst_iteratorをstd::iterator<std::input_iterator_tag, TElemTo const>から派生させたら、
BOOST_FOREACH (auto n, boost::make_iterator_range(result.begin(), result.end()))
がコンパイル通るようになった。
0371デフォルトの名無しさん
2011/03/03(木) 02:37:10.73マッチする部分をすべて取り出すことって出来ます?
boost::regex r("a[^a]+b");
boost:smatch m;
string s = "ahb anb atb";
ならahb anb atbそれぞれを取り出したいのですが。
0372デフォルトの名無しさん
2011/03/03(木) 02:49:02.95std::string::const_itarator itend = s.cend();
while (std::regex_search(itbegin, itend, r, m) {
itbegin = m[0].second;
}
0373デフォルトの名無しさん
2011/03/03(木) 02:53:01.08ありがとうございます。
0374デフォルトの名無しさん
2011/03/03(木) 12:25:13.55VisualStudio
の環境でダウンロードしただけで動くものをまとめてファイルにアップしてた人がいたけど
誰かurl知りませんか?
便利なのにテンプレに載ってないのはなんでです?
0375デフォルトの名無しさん
2011/03/03(木) 12:28:20.53http://boooster.x0.to/
0376デフォルトの名無しさん
2011/03/03(木) 15:31:43.47そういえばどっかの企業もバイナリ配布してたけどやめちゃったな
0377デフォルトの名無しさん
2011/03/03(木) 17:21:36.18それsvnの野良ビルドだよね確か。
svn最新なので万人向けじゃないし、svn追っかける人なら自分でビルドするし、特に需要がなかったんじゃない?
あと更新される度にスパムのようにURL貼ってたのでウザがられてた。
テンプレ申請なりサイトでRSS配信なりすればよかったのにね。
0378デフォルトの名無しさん
2011/03/03(木) 17:55:36.54boost使う=開発環境あるわけだし。
ビルドに時間掛かるのは別w
0379デフォルトの名無しさん
2011/03/04(金) 10:17:25.380380デフォルトの名無しさん
2011/03/04(金) 10:32:46.31それってPCの性能じゃなくてOSの差なんですか?
0381デフォルトの名無しさん
2011/03/04(金) 11:54:38.77出涸らし風味な話題だけれど・・・
C2Q 6550/RAM 4GB/XP SP3(x86)/7200rpm HDDの環境で時間は忘れたけど結構掛かったな。
あまりの遅さにSSD買ってVSとboostのソースを置いてビルドしたら爆速で終わった。
仕事なら時間単価で計算すると1ヶ月ぐらいで元取れるしなw
0382デフォルトの名無しさん
2011/03/04(金) 12:44:49.190383デフォルトの名無しさん
2011/03/04(金) 12:45:41.93数GB読み書きするでしょ
0384デフォルトの名無しさん
2011/03/04(金) 13:39:59.800385デフォルトの名無しさん
2011/03/04(金) 15:31:35.140386379
2011/03/04(金) 16:00:59.64・静的ライブラリ
・静的ライブラリ(デバッグ情報付き)
・静的ライブラリ(STLportのデバッグモードを使ったデバッグ情報付き)
・動的ライブラリ
・動的ライブラリ(デバッグ情報付き)
・動的ライブラリ(STLportのデバッグモードを使ったデバッグ情報付き)
を全部のライブラリに噛ましてやると俺のマシンは悲鳴を上げるんだぜ
情けないよな
0387デフォルトの名無しさん
2011/03/04(金) 16:26:40.230388デフォルトの名無しさん
2011/03/04(金) 16:48:16.20つ[strip --strip-all]
0389デフォルトの名無しさん
2011/03/04(金) 17:52:40.76要らないレスすんなよ
0390デフォルトの名無しさん
2011/03/04(金) 18:23:39.740391デフォルトの名無しさん
2011/03/04(金) 18:30:11.330392デフォルトの名無しさん
2011/03/04(金) 18:55:41.45並列数はCPUのコア数とクロックに応じて程々に
例:8並列の場合
bjam -j8 (以下いつものオプション色々)
0393デフォルトの名無しさん
2011/03/04(金) 19:05:54.260394デフォルトの名無しさん
2011/03/04(金) 19:12:49.580395デフォルトの名無しさん
2011/03/04(金) 19:48:33.59ゴミレスしか残らなくなるんだろ
0396デフォルトの名無しさん
2011/03/04(金) 20:14:20.85ゴミレス以外にどうリアクションをとればいいのやら
0397デフォルトの名無しさん
2011/03/05(土) 02:25:40.000398デフォルトの名無しさん
2011/03/05(土) 09:06:33.900399デフォルトの名無しさん
2011/03/05(土) 21:17:22.920400デフォルトの名無しさん
2011/03/06(日) 08:50:33.24馬鹿だなお前w
ゴミレスしなきゃいいじゃん
0401デフォルトの名無しさん
2011/03/06(日) 10:17:19.960402デフォルトの名無しさん
2011/03/06(日) 13:56:54.46http://www.boostpro.com/download/
0403デフォルトの名無しさん
2011/03/06(日) 19:55:44.160404デフォルトの名無しさん
2011/03/06(日) 21:01:09.870405デフォルトの名無しさん
2011/03/06(日) 21:11:49.410406デフォルトの名無しさん
2011/03/08(火) 20:54:12.500より大きく1未満の乱数を作れませんか?
0407デフォルトの名無しさん
2011/03/08(火) 21:17:48.070408デフォルトの名無しさん
2011/03/09(水) 12:53:47.39R言語並とはいいませんが、式の評価とか代入とか微積分とかあれば
0409デフォルトの名無しさん
2011/03/09(水) 13:05:17.96Rを呼び出した方が早くない?
0410デフォルトの名無しさん
2011/03/10(木) 09:35:51.000411デフォルトの名無しさん
2011/03/10(木) 15:10:55.280412デフォルトの名無しさん
2011/03/10(木) 15:16:10.88boostも使えるのかな
0413デフォルトの名無しさん
2011/03/10(木) 15:57:19.46http://hibari.2ch.net/test/read.cgi/tech/1298614677/
0414デフォルトの名無しさん
2011/03/10(木) 16:28:00.78って開発停止なの?
0415デフォルトの名無しさん
2011/03/11(金) 12:12:04.640416デフォルトの名無しさん
2011/03/13(日) 06:29:13.40Boost C++ Libraries
http://www.boost.org/
0417デフォルトの名無しさん
2011/03/22(火) 19:20:20.510418デフォルトの名無しさん
2011/03/22(火) 20:00:51.240419福盛俊明
2011/03/23(水) 23:52:34.770420デフォルトの名無しさん
2011/03/28(月) 12:47:40.420421デフォルトの名無しさん
2011/03/29(火) 19:45:09.25は?
お前ちょっとおかしいんじゃねーの?
そんな事言ったら、男はスカート履いたり口紅塗ったりしたら
いけないってこと???
0422デフォルトの名無しさん
2011/03/29(火) 20:14:35.770423デフォルトの名無しさん
2011/03/30(水) 12:55:32.680424デフォルトの名無しさん
2011/03/30(水) 17:23:19.290425デフォルトの名無しさん
2011/04/02(土) 06:36:38.55ここみつけた。http://boost.teeks99.com/
0426デフォルトの名無しさん
2011/04/02(土) 06:42:18.950427デフォルトの名無しさん
2011/04/02(土) 06:54:32.940428デフォルトの名無しさん
2011/04/02(土) 06:55:29.53http://www.boostpro.com/download/boost_1_46_1_setup.exe
|: / : : : / : : : : :.i: : : : |: : : :|: : : |: : : i '
: :|: : : : |: : i: : : :|: : : /i|: : :|:| : : :|: : : | |
: :|: : : : |: :.|:斗 十‐/ i|: :∧-‐ト|: : : | |
: :|: : : : |イ|: :|:/ |:/ |:/ |ハ: : |: : : | \_,ノ
: :|: : : : | レヤ示ト rテv|:./|: : : :|
ヽ|: : : : |/{:::::::i } トイ レ: :|/|/ 関東地方
( |: : : : 代c::ノソ レリ |: : : : | 東北地方 北海道地方
.〈.|: : : : |x`¨ 、¨x.|: : : i:| にいる
\|i: : : :| , /|: : : i:| すべての 愛すべき 国民へ 告ぐ
∨リ\: :iト 、 `´ ィ |: : /|リ
‐┴―\|- 〈 >rァ 爪|V |/
:::::::::::::::::::::::ヽ \ リ
::::::::::::::::::::::::__\
:::::::::::::::/ ::r――‐へ rっr‐-、_
:::::::::/ ::// ∧. | ̄ ̄ ̄| | | | | ̄ ̄ ̄ ̄ ̄ ̄ ̄|..
:::/ ::/ / ヽ|. L|_|_ト' |
/ ::::/ / \ ただちに 逃げろ |
. :::/ |/ | |
0430デフォルトの名無しさん
2011/04/06(水) 15:56:15.32#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>
は問題なく通るのですが・・・いったい何が原因でしょうか?
0431デフォルトの名無しさん
2011/04/06(水) 16:21:12.200432デフォルトの名無しさん
2011/04/06(水) 18:36:59.440433デフォルトの名無しさん
2011/04/06(水) 18:47:36.90なかったら自分でビルドしろ
0434デフォルトの名無しさん
2011/04/06(水) 19:07:30.140435デフォルトの名無しさん
2011/04/06(水) 19:10:14.870436デフォルトの名無しさん
2011/04/06(水) 19:22:20.630437デフォルトの名無しさん
2011/04/06(水) 19:24:00.98ライブラリパスの方は~.libが置いてるフォルダな
0438デフォルトの名無しさん
2011/04/06(水) 19:43:19.64それともインクルードパスは通したがライブラリパスは通し忘れた or 存在を知らないってやつか?
0439デフォルトの名無しさん
2011/04/06(水) 19:44:31.590440デフォルトの名無しさん
2011/04/06(水) 19:54:50.840441デフォルトの名無しさん
2011/04/06(水) 20:44:26.30おお、上手くいきました!ありがとうございました
なんか「std::streamsize' から 'size_t' への変換です。データが失われる可能性があります。」
みたいな警告が出てますけどこれは仕様なんですかね
0442デフォルトの名無しさん
2011/04/06(水) 20:46:17.090443デフォルトの名無しさん
2011/04/08(金) 03:47:53.82http://hibari.2ch.net/test/read.cgi/tech/1297142195/589
お願いします。
0444デフォルトの名無しさん
2011/04/08(金) 03:51:32.81コンパイラはVS2008を使っています
0445デフォルトの名無しさん
2011/04/08(金) 04:01:00.43#include <boost/preprocessor/comparison/equal.hpp>
をしたら自己解決しました。
0446デフォルトの名無しさん
2011/04/16(土) 13:27:19.01serializeの侵入型 非侵入型って英語でなんて言いますか?
0447デフォルトの名無しさん
2011/04/16(土) 15:39:30.600448デフォルトの名無しさん
2011/04/17(日) 04:24:44.070449デフォルトの名無しさん
2011/04/21(木) 13:19:37.66mm経由でなんでも使えるっぽいですが
0450デフォルトの名無しさん
2011/04/21(木) 13:31:12.82微妙にダメなのかな?
0451デフォルトの名無しさん
2011/04/21(木) 15:24:04.84エラーになる
だめなのかな
0452デフォルトの名無しさん
2011/04/22(金) 10:52:11.38CG関連のライブラリでしか使ってるのみたことないけど
accumulaterも使ってるの?
0453デフォルトの名無しさん
2011/04/22(金) 21:08:36.95accumulators は知らんけど Spirit がばりばり使ってる。
0454デフォルトの名無しさん
2011/04/25(月) 15:40:13.45コンパイルタイムで計算される?
0455デフォルトの名無しさん
2011/04/25(月) 21:15:57.16デフォルト引数をヌルポインタにしたい場合、これって問題ないですか?
0456デフォルトの名無しさん
2011/04/26(火) 00:21:13.07ダメですな。
http://codepad.org/ivr7NQAk
これならおk。
http://codepad.org/6cyqwPkA
0457デフォルトの名無しさん
2011/04/26(火) 04:57:15.860458デフォルトの名無しさん
2011/04/26(火) 08:08:06.84>>457
ありがとうございます。
0459デフォルトの名無しさん
2011/05/01(日) 09:26:30.160460デフォルトの名無しさん
2011/05/01(日) 09:32:52.23funcRef() の中でデフォルト指定された ref に値を設定することには意味が無いから、
そういうコードは書けないように言語のルールとして定められているのです。
0461デフォルトの名無しさん
2011/05/02(月) 03:06:37.55環境はWindowsとGCCです
bootstrap.batを実行して、project-config.jamの内容を
using gcc : 4.6.0 ;
using python : 3.2 ;
libraries = --with-python ;
と変更してbjamを実行しましたが何かエラー(failing)が出てstage\libに何も生成されません
どなたか教えてください
0462461
2011/05/02(月) 03:10:54.93gcc.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)'
0463デフォルトの名無しさん
2011/05/06(金) 00:09:52.31俺も勉強しようかな
0464デフォルトの名無しさん
2011/05/06(金) 09:18:56.650465デフォルトの名無しさん
2011/05/06(金) 16:05:30.620466デフォルトの名無しさん
2011/05/06(金) 16:19:08.010467デフォルトの名無しさん
2011/05/06(金) 19:16:48.94オブジェクト.メンバ関数()
じゃなくて
関数(オブジェクト)型が多いの?
0468デフォルトの名無しさん
2011/05/06(金) 19:49:46.400469デフォルトの名無しさん
2011/05/06(金) 20:30:45.770470デフォルトの名無しさん
2011/05/06(金) 21:12:51.90フリー関数ならメンバ関数がなくても「デフォルト実装」にフォールバックできる。
後から専用の処理を追加・削除しても呼び出し側はソースを編集しなくてもいい。
引数の暗黙の変換を利用することもできる。
組み込み型に対しても同じ書式を適用できる。
と色々メリットがある。
0471デフォルトの名無しさん
2011/05/06(金) 21:44:27.93性的外出しユーティリティが良いってメイヤーズおじちゃんがゆってた
0472デフォルトの名無しさん
2011/05/06(金) 21:44:32.300473デフォルトの名無しさん
2011/05/07(土) 01:37:20.43実はメンバ関数は要らない子のような気がしてきた。
0474デフォルトの名無しさん
2011/05/07(土) 04:20:52.490475デフォルトの名無しさん
2011/05/07(土) 05:25:58.440476デフォルトの名無しさん
2011/05/07(土) 13:43:02.91privateにすべし、って話があるな
0477デフォルトの名無しさん
2011/05/07(土) 15:34:37.820478デフォルトの名無しさん
2011/05/08(日) 01:20:12.570479デフォルトの名無しさん
2011/05/08(日) 22:48:51.050480デフォルトの名無しさん
2011/05/09(月) 16:14:04.76インターフェースはprivateにしないとおもうけどなあ。
>>477
継承はOOPの本質じゃないんじゃないかな?
ポリモがどうしても必要なとき意外使うなって事だと思うんだけど。
0481デフォルトの名無しさん
2011/05/14(土) 01:41:27.26質問していいですか?
>>24で書いてあるような、
「この機能を使うためにはこのライブラリをリンクする必要があるよ。」
みたいな情報ってどこに書いてありますか?
公式のThreadのドキュメントみてもそれっぽいの無かったですよ。
0482デフォルトの名無しさん
2011/05/14(土) 16:10:21.87dll名でググってみれば?
0483デフォルトの名無しさん
2011/05/14(土) 20:39:49.150484デフォルトの名無しさん
2011/05/14(土) 22:24:45.89個人で運営なさっている解説サイトとか、メーリング
リスト等には書いてあるんですけど、もう少しオフィ
シャルな情報が欲しいじゃ無いですか。
そう考えて公式サイトを読んでいたんですけど、私の
拙い英語力と集中力じゃさっぱりでした。
0485デフォルトの名無しさん
2011/05/14(土) 22:41:30.830486デフォルトの名無しさん
2011/05/14(土) 22:58:08.96ありました!有り難うございます!「6.3 Library Naming」にありましたよ!!
Getting Startの最初のページの右下のNext:の部分を見逃してました。
命名規約からライブラリのファイル名を導き出してたんですね。
jamfaileのコメントとかを必死に翻訳していた自分が情けないです。
有難うございました。
0487デフォルトの名無しさん
2011/05/15(日) 09:11:00.23アルゴリズムがあったら名前を教えて欲しい
0488デフォルトの名無しさん
2011/05/15(日) 09:44:19.53近似解で良ければ metric_tsp_approx
0489デフォルトの名無しさん
2011/05/15(日) 09:45:08.77ありがと!
0490デフォルトの名無しさん
2011/05/20(金) 06:15:31.08〉継承はOOPの本質じゃないんじゃないかな?
:(;゙゚'ω゚'):マジで……?
0491デフォルトの名無しさん
2011/05/20(金) 10:54:00.91情報隠蔽 - これは古典的な可視性の定義である。(?)
*旧来の多くのオブジェクト指向言語が備えている性質
継承 - クラスベースのオブジェクト指向に固有の概念である。
多態性 - プロトタイプベースのオブジェクト指向の場合では関係がない概念とされる。
動的束縛 - これはオブジェクト指向の本質的な概念ではあるが、実行時性能に制約が生じる為、この特性を備えていないオブジェクト指向言語もある。
だと。
0492デフォルトの名無しさん
2011/05/20(金) 12:02:46.370493デフォルトの名無しさん
2011/05/20(金) 12:12:29.26480ではないが、継承がやってることといえば
polymorphismの実装
基底のコードの流用
だけだからな
これらがそれぞれ別の手段で実現できれば継承はなくてもいいと思う
と俺が思ってるだけで一般的には継承はOOPの重要な要素だけどね
0494デフォルトの名無しさん
2011/05/20(金) 13:39:21.05「動的な」結合が必要かどうかは言語によるのではないかと思う。
0495デフォルトの名無しさん
2011/05/20(金) 14:24:28.46それぞれアトミックな概念かもよく分からずに、仮想関数は静的に型付けされた動的束縛だから、仮想関数や抽象(インターフェース)クラスはC++のOOPの本質のひとつじゃね?って感じで深みにハマって結局訳わかめになる。
0496デフォルトの名無しさん
2011/05/20(金) 15:36:30.29データとアルゴリズムのまとまった単位、即ち一つの完結した部分プログラムであって、
それの寄せ集めが全体としてのプログラムであるという観点および方法論のことを
オブジェクト指向と呼んでいるのだと思う。
それとは別にストラウストラップがカプセル化・継承・多態性をC++言語による
オブジェクト指向サポートの基本要素としたのは一つレイヤーの上がる話だ。
// ちょっとBoostとは関係ない話になったが
0497デフォルトの名無しさん
2011/05/21(土) 04:37:29.17継承はコードが読みづらくなるから避けてほしい。
0498デフォルトの名無しさん
2011/05/21(土) 04:37:53.910499デフォルトの名無しさん
2011/05/21(土) 09:59:29.67問題はむしろそっちだな
0500デフォルトの名無しさん
2011/06/02(木) 17:39:21.54bjamに--without-mpi付けてたのにmpiのライブラリできた
0501デフォルトの名無しさん
2011/06/02(木) 18:13:44.930502デフォルトの名無しさん
2011/06/03(金) 21:52:25.68プログラム終了時に例外とメモリリークでなければOK?
0503デフォルトの名無しさん
2011/06/04(土) 00:16:10.77終了順に依存関係があるものは設計で対応してあるか確認する。
こんなもんじゃね。楽するためのものだから、判ってて使ってるなら気にしなくていいとおもうが。
心配なら、全部resetしたらw
0504デフォルトの名無しさん
2011/06/04(土) 18:26:55.96ありがとうございます
0505デフォルトの名無しさん
2011/06/07(火) 19:04:36.62shared_ptr<Hoge> hoge;
HogeRegistry hogeReg;
hogeReg.insert(hoge.get()); // ライブラリの都合上生ポインタしか登録できない。ので、ここでhogeのデリーターに新たにhogeReg.erase(hoge.get())に相当する処理を追加したい
0506デフォルトの名無しさん
2011/06/07(火) 19:13:08.400507デフォルトの名無しさん
2011/06/07(火) 20:19:29.360508デフォルトの名無しさん
2011/06/07(火) 22:20:38.76Effects: Constructs a shared_ptr that owns the pointer p and the deleter d.
0509デフォルトの名無しさん
2011/06/08(水) 01:35:32.50できた。
http://codepad.org/rQiAg0yO
けど、 >>507 のほうが正しい気がする。
0510デフォルトの名無しさん
2011/06/08(水) 10:06:56.11なるほど、別のスマポを作ってしまうというのは盲点でした
0511デフォルトの名無しさん
2011/06/08(水) 10:20:29.14shared_ptr捨てるとかないわ
0512デフォルトの名無しさん
2011/06/08(水) 21:33:22.840513デフォルトの名無しさん
2011/06/09(木) 11:06:07.76組み込み型ならある程度typeごとに条件わけで書けるのはわかるんですが,
ユーザー定義型の場合はどうやって動的にany_castしたら良いんでしょう??
placeholderのtype()に合うように自動的にcastってできるんでしょうか.
初心者ですいませんorz
0514デフォルトの名無しさん
2011/06/09(木) 19:35:19.60作ったクラスに<<をオーバーロードすればいいじゃない
0515デフォルトの名無しさん
2011/06/09(木) 20:13:21.12初級者なのでよくわかっていないのですが,
class A; vector<any> b; b.push_back( A() );
みたいにしたあと,any_cast<A>を正しくするにはどうしたらいいのか…
せめてfor_each( any &a in b ) cout << any_cast< a.type() >(a);
みたいな事ができるといいのですが…
0516513
2011/06/09(木) 22:21:11.39やりたいこと自体は基底にオペレータを定義して,
あとは多態性で解決できました.
できてみれば簡単でした…なんで思いつかなかったんだろう...
ありがとうございました.
0517デフォルトの名無しさん
2011/06/09(木) 23:19:22.71静的な解決はできないから動的なマルチディスパッチしかない。
多態で済むんだったら、普通に基底ポインタで保持したら?
0518513
2011/06/10(金) 11:36:36.57静的にはムリなんですね.そりゃそうか...
それで行きます!
0519デフォルトの名無しさん
2011/06/14(火) 00:01:56.65大文字小文字の区別をつけないようにできないんでしょうか?
APIのGetPrivateProfileString()は、大文字小文字の区別が無かったので
すでにあるINIファイルをこれで読み込もうとすると、大文字だったり小文字
だったりするので、設定が見つからなかったりするんです。
0520デフォルトの名無しさん
2011/06/14(火) 08:27:27.95basic_ptree の第 3 テンプレートパラメータで大文字小文字無視する比較を渡せばいいんじゃないかな。
0521デフォルトの名無しさん
2011/06/14(火) 08:36:03.920522デフォルトの名無しさん
2011/06/14(火) 09:04:35.81数100k膨れ上がるのは何とかならんのか
0523デフォルトの名無しさん
2011/06/14(火) 21:45:32.04やってみます!ありがとうございます。
0524uy
2011/06/21(火) 07:11:35.990525uy
2011/06/21(火) 07:41:23.38http://hibari.2ch.net/test/read.cgi/prog/1306135242/
ゴミが積もって四スレ目
0526uy
2011/06/21(火) 15:51:38.990527デフォルトの名無しさん
2011/06/29(水) 17:25:25.500528デフォルトの名無しさん
2011/06/30(木) 00:32:47.620529デフォルトの名無しさん
2011/06/30(木) 06:53:43.21なんも動きがないんだが大丈夫なのかアレ
0530デフォルトの名無しさん
2011/07/02(土) 23:23:39.210531デフォルトの名無しさん
2011/07/02(土) 23:26:20.960532デフォルトの名無しさん
2011/07/03(日) 01:27:40.58指示する度にうんこしてこれる
0533デフォルトの名無しさん
2011/07/03(日) 07:55:11.520534デフォルトの名無しさん
2011/07/03(日) 12:31:34.500535デフォルトの名無しさん
2011/07/05(火) 08:18:42.240536デフォルトの名無しさん
2011/07/05(火) 21:13:20.990537デフォルトの名無しさん
2011/07/12(火) 17:23:37.47http://www.boost.org/users/history/version_1_47_0.html
0538デフォルトの名無しさん
2011/07/13(水) 22:55:11.55インクルードしているだけで出てくるのでコードが悪いわけではなさそうですが・・・
0539デフォルトの名無しさん
2011/07/13(水) 22:56:18.320540デフォルトの名無しさん
2011/07/13(水) 23:00:22.26データが失われる可能性とか出てるので
0541デフォルトの名無しさん
2011/07/13(水) 23:07:01.700542デフォルトの名無しさん
2011/07/13(水) 23:57:17.820543デフォルトの名無しさん
2011/07/14(木) 01:29:57.030544デフォルトの名無しさん
2011/07/14(木) 01:36:18.29長かったのでこちらに
ttp://codepad.org/ylgwJM88
0545デフォルトの名無しさん
2011/07/14(木) 01:38:01.28std::streamsizeってstd::size_tのtypedefだったと思うけどどうしてそれに対する警告が出てるの?
0546デフォルトの名無しさん
2011/07/14(木) 01:45:06.68boostの中を見てもさっぱり
0547デフォルトの名無しさん
2011/07/14(木) 03:24:52.14streamsize は size_t 以下の精度とは限らないからね。
https://svn.boost.org/trac/boost/search?q=streamsize+size_t
報告されてはいないみたいだから、 1.47 で試してまだ出るようなら Trac へ Go
0548デフォルトの名無しさん
2011/07/14(木) 14:08:54.03・・・しかし英語ができなくて報告の仕方がわからない
0549デフォルトの名無しさん
2011/07/14(木) 16:41:24.32書き直しorz
0550デフォルトの名無しさん
2011/07/14(木) 16:48:14.750551デフォルトの名無しさん
2011/07/14(木) 19:51:12.74何年も前の話だけど、BOOST_FOREACH のコンパイルされたアセンブラコードを見て、
あまりのひどいコードに愕然としたことがあったよ。
以来使っていない。
0552デフォルトの名無しさん
2011/07/15(金) 00:27:44.820553デフォルトの名無しさん
2011/07/15(金) 19:42:28.31見当たらぬ・・・
0554デフォルトの名無しさん
2011/07/15(金) 21:51:05.85http://parallel-for.sourceforge.net/tbb.html
公式ドキュメントは日本語検索だと出づらいが、サンプルコードは出てくるぞ
0555デフォルトの名無しさん
2011/07/17(日) 22:00:44.810556デフォルトの名無しさん
2011/07/17(日) 22:03:18.06あの技術と熱意を新低級言語開発に回してたらいまごろとっくにもっと便利なもんできてただろ
0557デフォルトの名無しさん
2011/07/17(日) 22:25:23.280558デフォルトの名無しさん
2011/07/17(日) 22:32:27.26重要なのは汎用性と一貫性で、技術と熱意は邪魔なだけ。
低級言語ならForth最強だろ。
0559デフォルトの名無しさん
2011/07/17(日) 22:57:03.180560デフォルトの名無しさん
2011/07/20(水) 21:39:22.18Win2kだと正しくiniファイルが読み込めないのですが、対応してないって
ことでしょうか?
0561デフォルトの名無しさん
2011/07/20(水) 21:57:19.390562デフォルトの名無しさん
2011/07/20(水) 22:01:58.890563デフォルトの名無しさん
2011/07/20(水) 22:18:35.25Win2kのPCにVSが入ってないんで、まだ詳しく見れてません。
ただ、現象的には、
・セクションが見つからない
・キーが見つからない
・イコール(=)の後に文字列がない
のいずれかですね。
この場合は、デフォルト文字列になるようにしてるんですが、
読み出そうとしている文字列がすべてデフォルトになっちゃってるんで。
0564デフォルトの名無しさん
2011/07/22(金) 22:07:40.02自己レスです。
Win2kの問題では無く、ファイルのパス名に日本語を含んでいるためでした。
read_iniで直接ファイル名を指定せずに、ifstreamで開いてからそのストリームを
read_iniに指定することにしました。
0565デフォルトの名無しさん
2011/07/23(土) 02:01:43.28boostより便利なものってなんだよw
0566デフォルトの名無しさん
2011/07/23(土) 04:24:22.550567デフォルトの名無しさん
2011/07/23(土) 07:01:26.61python最強
0568デフォルトの名無しさん
2011/07/24(日) 01:16:39.11やってみろ
そして、どこが「boost」なのか説明してくれ
0569デフォルトの名無しさん
2011/07/25(月) 01:20:20.78そのうちC++でboost使うほうが楽になるよ。
0570デフォルトの名無しさん
2011/07/25(月) 14:35:01.360571デフォルトの名無しさん
2011/07/25(月) 17:51:44.100572デフォルトの名無しさん
2011/07/25(月) 18:41:46.880573デフォルトの名無しさん
2011/07/25(月) 18:51:49.100574デフォルトの名無しさん
2011/07/27(水) 15:45:22.63boost組み合わせてできないものでしょうか
_1
じゃなくて
x
とか変数に使いたい
0575デフォルトの名無しさん
2011/07/27(水) 19:05:09.41ONのshared_ptrとOFFのshared_ptrを共存させるのってアリなの?
0576デフォルトの名無しさん
2011/07/27(水) 20:54:57.72ない
0577デフォルトの名無しさん
2011/07/27(水) 22:02:54.24_1 の別名として使えればいいだけなら
boost::lambda::placeholder1_type X;
とすれば X が _1 と同じように使える。
Boost Phoenix で似たようなことしつつ let 使った方がもう少し望みに近くなるかもしれない。
0578デフォルトの名無しさん
2011/08/11(木) 19:09:09.86date_timeとかは普通にヘッダオンリで使えてるんですけど、Chronoの場合なんか他に必要なんですか?
0579デフォルトの名無しさん
2011/08/11(木) 19:31:03.92BOOST_SYSTEM_NO_LIB と BOOST_ERROR_CODE_HEADER_ONLY も有効にしたらできました・・・
もっと調べてから聞くべきだった
0580デフォルトの名無しさん
2011/08/18(木) 11:43:35.000581デフォルトの名無しさん
2011/08/24(水) 11:13:47.94spirit 試してみてます
上記のコードで helper って関数書かないで、
39 行目みたいにしたいんだけど、うまく書く方法ありませんか?
0582デフォルトの名無しさん
2011/08/26(金) 14:22:00.420583デフォルトの名無しさん
2011/08/29(月) 16:25:44.13単純に数値並べただけの方が便利だったりするのかな
0584デフォルトの名無しさん
2011/08/29(月) 21:45:43.13その計算結果の用途によるとしか……
ublasへの入力が多いならそれでいいんじゃね?
0585デフォルトの名無しさん
2011/08/30(火) 05:28:57.200586デフォルトの名無しさん
2011/08/31(水) 03:17:50.94それでいろいろやってたら出なくなったんだがその内容が
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;
にしたらエラーが出なくなった。原因は何なんだろう
0587デフォルトの名無しさん
2011/08/31(水) 03:28:52.43↓こっち行け
http://hibari.2ch.net/test/read.cgi/tech/1187922645/
0588デフォルトの名無しさん
2011/08/31(水) 09:40:03.66エラーの内容も書かずに云々
0589デフォルトの名無しさん
2011/09/01(木) 21:32:00.35たぶんeraseだとは思うんですがうまくいきません。
0590デフォルトの名無しさん
2011/09/04(日) 17:34:26.96をみてasioでwebサイトからデータを取得しています
ip::tcp::iostream s( "www.boost.org", "http" );
によって作られたsはs << flush;を実行した時点で通信が開始されていると思いますが
while( getline(s, line) ) cout << line << endl;
によってデータを受信した後sを再利用するとこはできませんか?
質問するところが間違っていたらすいません
0591デフォルトの名無しさん
2011/09/05(月) 04:45:04.36スレッドを作って内部で勝手に処理させるクラスを作っています
class test {
boost::thread thr;
void start(){
thr = boost::thread(func);
}
void stop();
}
のようにして生成したスレッドのコピーをメンバ変数に保存してい置くのはまずいでしょうか
一応boost::thread(func)がスコープを外れて破棄されても動作するようですがどうなのでしょうか
0592デフォルトの名無しさん
2011/09/05(月) 08:59:00.97別にまずくはない。
boost::threadのデストラクタはdetach()を呼び出す。つまり、threadオブジェクトと
スレッドの寿命は同期していないし、スレッドが終わるまで待ってくれたりもしない。
同期させたければthreadオブジェクトを破棄する前にスレッド関数を抜けるように
フラグやcondition_variable等で指示しておき、(thread::join()等で)スレッドが終了した事を確認してから、
threadを破棄する必要がある。
0593デフォルトの名無しさん
2011/09/05(月) 14:55:53.84自己レスです。
実際には、iniファイルの読み書きで使ってるんですが、
セクションごと消すのは出来るんですが、その中のあるキー設定を
消すと、write_ini()で例外が発生してしまいます。
だれかご存じないでしょうか?
0594デフォルトの名無しさん
2011/09/05(月) 15:06:36.43さらに自己レス。
[Section]
Key1=1234
Key2=9876
と有ったときにKey2は消せるんですが、Key1を消すと、write_ini()パーサーで
例外が発生します。
これって、write_ini()のバグ?
0595デフォルトの名無しさん
2011/09/05(月) 20:03:55.89またまた自己レスです。
どうも、erase()またはwrite_???()がバグっているように思える。
iniパーサーでなくて、xmlやjsonパーサーでもerase()してwriteすると
おかしくなる。erase()したあと、ptreeをたどるとeraseしなかった要素は
残っているようなので、write_???()がくさい。
0596デフォルトの名無しさん
2011/09/05(月) 20:07:12.190597デフォルトの名無しさん
2011/09/05(月) 20:11:17.10やっぱerase()がおかしい。earse()したあと別のptreeにコピーすると
異常が出てしまう。(clone()ルーチンで)
erase()は使えないなぁ。
これ、ptreeってmulti_index_containerですよね。そっちもバグってるってことか?
0598デフォルトの名無しさん
2011/09/05(月) 20:16:43.56ptree 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
#=================
0599デフォルトの名無しさん
2011/09/05(月) 20:21:26.46すまん。肝心の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
#=================
0600デフォルトの名無しさん
2011/09/05(月) 20:51:46.57ptree 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);
}
0601デフォルトの名無しさん
2011/09/06(火) 08:06:09.21おお!うまくいきました!
ありがとうございました。
なるほど、最下層の要素を削除するときはこうしないといけないんですね。
boostにも削除のサンプルを入れて欲しいな〜。
0602デフォルトの名無しさん
2011/09/06(火) 08:08:44.870603デフォルトの名無しさん
2011/09/06(火) 09:14:40.07ptree::assoc_iterator it2 = it->second.find("Key1");
if (it2 != it->second.not_found()) {
it->second.erase(it->second.to_iterator(it2));
}
として消すようにしました。
まあ、例外で受けていいのですが他の処理もあるので。
0604デフォルトの名無しさん
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配下にコピーしましたが結果同じでした。
http://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
0605デフォルトの名無しさん
2011/09/06(火) 11:58:31.750606デフォルトの名無しさん
2011/09/06(火) 12:51:54.380607604
2011/09/06(火) 14:27:03.46>>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%
も追加したらリンク通るようになりました。
0608デフォルトの名無しさん
2011/09/08(木) 04:08:47.89ではgetlineによって1行づつしか読んでいませんが
char *buf = new char[size];
s.read(buf,size);
のようにして一気に読み込みたいのですがどうすればいいでしょうか
0609デフォルトの名無しさん
2011/09/12(月) 00:07:38.37いろんな意味で中途半端すぎないか
それともこれから発展していくのだろうか
0610デフォルトの名無しさん
2011/09/12(月) 01:17:16.20面倒くさいんだけど
0611デフォルトの名無しさん
2011/09/12(月) 01:45:29.280612デフォルトの名無しさん
2011/09/12(月) 02:39:33.090613デフォルトの名無しさん
2011/09/13(火) 21:55:59.680614デフォルトの名無しさん
2011/09/19(月) 11:54:58.400615デフォルトの名無しさん
2011/09/19(月) 13:57:11.650616デフォルトの名無しさん
2011/09/20(火) 10:42:28.53これいいな
早く公式にとりこまれないかな
0617デフォルトの名無しさん
2011/09/20(火) 11:58:01.13eggが誰もレビューされないでレジェクトだって?
公式の説明はどうなってるの
今ならレビューするのに
0618デフォルトの名無しさん
2011/09/20(火) 12:32:36.150619デフォルトの名無しさん
2011/09/20(火) 13:12:27.24あまりにもレビュー数が少なかったので、落とされたが。
0620デフォルトの名無しさん
2011/09/20(火) 13:38:38.710621デフォルトの名無しさん
2011/09/20(火) 15:00:38.77誰かが本人と連盟扱いでドキュメント更新したものを再チャレンジしたらダメなのかな?
0622デフォルトの名無しさん
2011/09/29(木) 16:11:38.71C4503 装飾された名前の長さが限界を超えました
っていっぱい出るんだが、どうすればワーニングが出ないようにできるんでしょうか?
コンパイルそのものは、正常終了してます。
0623デフォルトの名無しさん
2011/09/29(木) 18:19:11.042010年にバージョンアップしたみたいですが
x84-64で動かないってコメントみかけるのが2009年より前のものばかりなので
ひょっとして改善したのかと
0624デフォルトの名無しさん
2011/09/29(木) 19:46:32.94俺も気になる
0625デフォルトの名無しさん
2011/09/30(金) 00:13:17.37progress_displayさんがdeprecatedされるって
0626デフォルトの名無しさん
2011/09/30(金) 00:52:26.070627デフォルトの名無しさん
2011/09/30(金) 07:13:20.60技巧凝らしたソースばかり見ていたら疲れるだ
0628progress_display
2011/09/30(金) 21:19:30.730629デフォルトの名無しさん
2011/09/30(金) 21:26:13.06呼び出し元プロセスとの進捗状況をやりとりする機能を実装し
そのプロトコルも規格化したりすると延命できるのかな。
0630デフォルトの名無しさん
2011/09/30(金) 21:34:09.650631progress_display
2011/09/30(金) 21:57:09.320632デフォルトの名無しさん
2011/10/01(土) 08:36:25.310633デフォルトの名無しさん
2011/10/01(土) 10:52:59.900634デフォルトの名無しさん
2011/10/01(土) 13:07:50.36どう考えてもovenの方がrangeexより優れてる筈なのに・・・どうしてああなった
0635デフォルトの名無しさん
2011/10/01(土) 13:51:24.870636デフォルトの名無しさん
2011/10/03(月) 09:54:06.59の定義って斬新だな
フェニックスも大概独自世界構築してるけど| の方がわかりやすくてええわ
0637デフォルトの名無しさん
2011/10/03(月) 11:06:36.240638デフォルトの名無しさん
2011/10/03(月) 13:11:45.270639デフォルトの名無しさん
2011/10/03(月) 20:59:58.340640デフォルトの名無しさん
2011/10/04(火) 19:22:39.08>eggやoven
boostライセンスだから
作者の許可なしで「改良したもの」をboostに提案しても問題ない予感がするのだが
もちろん作者の名前も入れる
0641progress_display
2011/10/04(火) 19:50:11.110642デフォルトの名無しさん
2011/10/04(火) 20:34:30.64ただのdeprecatedのようだ
0643デフォルトの名無しさん
2011/10/04(火) 20:37:41.95改良したらいいんじゃないの?
0644デフォルトの名無しさん
2011/10/05(水) 19:12:35.160645デフォルトの名無しさん
2011/10/05(水) 19:13:37.470646デフォルトの名無しさん
2011/10/05(水) 19:17:28.31でも確かに、親善大使という言い方に、しっくりくるものを感じる。。。
0647デフォルトの名無しさん
2011/10/06(木) 00:55:35.76俺はlexcal_castから入門したけど
0648デフォルトの名無しさん
2011/10/06(木) 04:42:44.99noncopyableをよろしく
0649デフォルトの名無しさん
2011/10/06(木) 07:18:53.850650やんやん ◆yanyan72E.
2011/10/06(木) 10:42:50.540651デフォルトの名無しさん
2011/10/06(木) 11:15:42.530652デフォルトの名無しさん
2011/10/06(木) 12:00:49.570653デフォルトの名無しさん
2011/10/06(木) 13:05:24.590654デフォルトの名無しさん
2011/10/06(木) 13:17:38.990655デフォルトの名無しさん
2011/10/06(木) 13:19:25.530656デフォルトの名無しさん
2011/10/06(木) 14:35:14.08ところでprogress_displayを実用した著名ソフトってあるのかしら
0657デフォルトの名無しさん
2011/10/06(木) 14:59:48.030658デフォルトの名無しさん
2011/10/06(木) 19:29:22.00めっちゃ有名なライブラリで使ってるよ。
Boost C++ Libraries
0659デフォルトの名無しさん
2011/10/06(木) 23:55:45.01まぁLet'sboostみながら一番わかりやすそうだったからってだけだが
0660デフォルトの名無しさん
2011/10/07(金) 10:59:06.690661progress_display
2011/10/08(土) 01:20:12.74これではまだまだ親善大使を退くわけにはいかんう・・・
0662デフォルトの名無しさん
2011/10/08(土) 17:22:29.700663デフォルトの名無しさん
2011/10/08(土) 17:38:11.23みたいにboost.develに投稿してまずはsandbox入りを目指そう
0664デフォルトの名無しさん
2011/10/08(土) 17:54:54.350665デフォルトの名無しさん
2011/10/08(土) 19:09:47.220666デフォルトの名無しさん
2011/10/08(土) 20:21:58.060667デフォルトの名無しさん
2011/10/09(日) 00:26:41.870668デフォルトの名無しさん
2011/10/19(水) 16:49:04.000669デフォルトの名無しさん
2011/10/19(水) 16:51:32.26pathそのものが両方サポートしてるのね。
0670デフォルトの名無しさん
2011/10/25(火) 14:09:17.02どなたかご存知です?
0671デフォルトの名無しさん
2011/10/25(火) 14:12:05.060672デフォルトの名無しさん
2011/10/25(火) 14:16:33.54簡単にスレッドを使いたくて調べてたらboostにあたった。
boost::thread は非常に簡単でいい。
「boost::this_thread」っていう名前空間の「this」ってどんな意味なのでしょうか?
どなたかご存知です?
0673デフォルトの名無しさん
2011/10/25(火) 14:24:37.71"this"の意味は「この」。
"this_thread"で「このスレ」。
0674672
2011/10/25(火) 19:21:41.47あれ?2回も投稿してるし、しかもageてるよ。申し訳ない。
>>671, >>673
ありがとうございます。
助かりました。
説明もらって、Webで見つけたサンプル達を眺めたら理解できました。
0675672
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)に入れたのとで、どのように使い分ければいいのですか?
「中断ポイント」として、利用されるのが前者、程度の違いでしょうか?
何か他に大事なことを知らない気がしています…。
0676672
2011/10/25(火) 21:33:35.07×boost::this_thread sleep() ※Static member function sleep()
○boost::thread sleep() ※Static member function sleep()
0677デフォルトの名無しさん
2011/10/27(木) 18:00:45.65コメントを再現できないんだろうか?
今は無視して読み飛ばしてるみたいだが。
0678デフォルトの名無しさん
2011/10/27(木) 18:05:26.870679デフォルトの名無しさん
2011/10/30(日) 20:51:44.730680デフォルトの名無しさん
2011/10/30(日) 21:20:35.330682デフォルトの名無しさん
2011/11/01(火) 00:34:42.48namespace Hoge {
struct Fuga // 独自にカウンタを持つ
{
int count ;
int add_ref(void);
int release(void);
};
}
があってintrusive_ptrを使いたいんだけどnamespace Xに追加禁止の場合は
グローバルスコープにintrusive_ptr_add_refとintrusive_ptr_releaseを書くしか無い?
なにかうまい回避策とかあるのかな
0683デフォルトの名無しさん
2011/11/01(火) 01:47:51.17namespace に追加禁止の意味がわからん。
0684デフォルトの名無しさん
2011/11/01(火) 01:54:37.130685デフォルトの名無しさん
2011/11/02(水) 06:59:20.82「Thread Constructor」の説明に書いてある、「*this」って何のことか説明もらえたりしませんか?
呼ばれる関数内でthisとか書いてもthreadのインスタンスメソッドとか呼べないのですけど…。
さっぱりわかりません。
0686685
2011/11/02(水) 07:33:33.34スレ汚し失礼しました。
0687685
2011/11/02(水) 14:26:44.40ttp://melpon.tank.jp/pukiwiki147/index.php?cmd=read&page=Memo%2F%CB%DD%CC%F5%2FBoost.Thread#ldd60c2a
これみると、後方互換性のために存在する感じのように見える。
「// 後方互換性のため」のスコープがどこまでなのかがハッキリしないが、たぶん後方互換性に含まれるんだろ。
ちなみに、boost1.47のヘッダみたら、「static」の方の引数の変数名が「this_thread」にあわせられていた。
確信無いので参考までに。
0688デフォルトの名無しさん
2011/11/02(水) 20:59:30.050689679
2011/11/05(土) 06:15:53.53timed_join()を繰り返して、起動した全てのスレが終了したか検知するコードを書いて今はうまく動いているのですけど、
幾つかのスレが終了している最中に、もしも別のスレが起動したらどうなるのかな?デタッチした領域は開放されているから再利用される可能性があるかな?なんて考えて…。
それとも、スレの起動箇所ごとに、アタッチするメモリ番地が決まってるのかな。
そうすると、forやwhileで起動する際に説明がつかないし…。
未定か。
0690デフォルトの名無しさん
2011/11/05(土) 11:36:39.780691689
2011/11/06(日) 22:23:39.49レスありがとうです。
スレッド周りのヘッダとcppと読んでみたのですけど、あまりわかりませんでした。
スレッドが終了したかどうかって、Win32 APIとどのようにやり取りするのかわからないのがマズイ気がする。
先は長い…。
ところで、さっきと今との、経過時間をmillisecで取得したいのですけど、Boostを利用すると比較的容易な気がするのですが、どのクラスを利用すればいいでしょうか?
boost::posix_time付近で探しているところですが。
0692689
2011/11/06(日) 22:34:54.18Win32APIでみつけることができました。GetTickCountで差分をとればいけそうでした。
もしBoostで、同じようなことが出来れば御教示ください。出来れば環境依存は少ない方がいいと思いますし。
0693デフォルトの名無しさん
2011/11/06(日) 22:45:34.520694デフォルトの名無しさん
2011/11/06(日) 23:13:37.800695デフォルトの名無しさん
2011/11/07(月) 06:41:56.520696デフォルトの名無しさん
2011/11/08(火) 17:34:26.68今出てこなくなってるな
こういう新しいものが出たときにもともとあった情報の取得の障害になることをなんていうんだろうね
0697デフォルトの名無しさん
2011/11/08(火) 17:36:23.990698デフォルトの名無しさん
2011/11/08(火) 17:54:00.580699デフォルトの名無しさん
2011/11/08(火) 21:56:57.820700デフォルトの名無しさん
2011/11/09(水) 12:34:52.490701デフォルトの名無しさん
2011/11/09(水) 12:38:10.560702デフォルトの名無しさん
2011/11/12(土) 15:27:47.67いまは使われるようになったからな。
0703デフォルトの名無しさん
2011/11/12(土) 18:32:09.0010年以上前の話だがCの関数をググれてたのが
PHPに占領されたときは殺意を覚えた
0704デフォルトの名無しさん
2011/11/12(土) 18:42:18.38いまは「スマ」と打つとsmileageが出てくるように・・・まだなってないか
0705デフォルトの名無しさん
2011/11/12(土) 20:10:00.060706デフォルトの名無しさん
2011/11/15(火) 07:45:19.680707デフォルトの名無しさん
2011/11/15(火) 12:43:22.14コンパイルエラー晒せ。
直接バグレポートするともっといい。
0708デフォルトの名無しさん
2011/11/15(火) 22:07:44.75JSON?
boost::property_tree
boost::property_treeを使ってXMLを読み込んでみるコードを書いてるのですけど、
hoge.piyo.fooの要素が複数存在する可能性がある仕様の時、何個あるかしらべるには、foreach使って全て読み込んでみないとわからないですか?
mapのsize()のような関数って無いでしょうか?
0709デフォルトの名無しさん
2011/11/16(水) 01:35:08.82http://www.boost.org/users/history/version_1_48_0.html
0710デフォルトの名無しさん
2011/11/16(水) 05:45:06.580711デフォルトの名無しさん
2011/11/16(水) 06:01:45.60ちょうどBoost.Localeが入ったぞ
0712デフォルトの名無しさん
2011/11/16(水) 09:45:15.35実行時間はふつうにfor文かいたりするのと変わらないの?
0713デフォルトの名無しさん
2011/11/16(水) 12:20:42.65ttp://anon21.qlookblog.net/20110717-1.html
0714デフォルトの名無しさん
2011/11/17(木) 01:58:09.280715デフォルトの名無しさん
2011/11/17(木) 01:59:23.320716デフォルトの名無しさん
2011/11/17(木) 13:49:42.72うん。gccレベルのコンパイラでも最適化オプションつけるとfor文展開と変わらない。
最適化しない場合は知らん。
0717デフォルトの名無しさん
2011/11/17(木) 14:52:45.350718デフォルトの名無しさん
2011/11/17(木) 15:59:38.87主にflatシリーズ
0719デフォルトの名無しさん
2011/11/17(木) 17:27:47.13ソート済みvector使った擬似setや擬似mapあるだろ。つまりそれ。
0720デフォルトの名無しさん
2011/11/17(木) 18:56:20.371.47.0 から変わったみたいでコンパイルがよく分からなくなった
それと、オプションの toolset は -- がいらなくなったの?
0721デフォルトの名無しさん
2011/11/17(木) 19:35:49.47boost::interprocess::ipcdetailに仕様が変わってるんだな
コンパイルエラー吐かれて初めて気付いた
0722やんやん ◆yanyan72E.
2011/11/17(木) 20:16:14.19b2でコンパイルという感じでやってるけど、
b2をbjamと同じように使うこともできるみたいだね。
0723デフォルトの名無しさん
2011/11/17(木) 20:28:23.12ありがと
0724デフォルトの名無しさん
2011/11/18(金) 13:41:41.76boost.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;
}
0725デフォルトの名無しさん
2011/11/18(金) 16:32:03.780726デフォルトの名無しさん
2011/11/18(金) 18:19:04.28boostの使用以前にエラー。
クラス型のconstオブジェクトを初期化子なしで初期化する(default-initialized)ときは
そのクラス型はユーザー定義のデフォルトコンストラクタを持っていなければならない。
0727デフォルトの名無しさん
2011/11/18(金) 20:45:24.66文字列データに日本語を含ませるとunexpected end of dataという例外が飛んできます
utf-8のxmlを読み込むにはどうすればいいんでしょうか?
0728デフォルトの名無しさん
2011/11/18(金) 20:46:15.79data_type b;
a = static_cast<const data_type&>(b);
でもエラーになるな。
0729727
2011/11/18(金) 20:47:18.46boostのバージョンは1.46.1です
0730デフォルトの名無しさん
2011/11/18(金) 22:38:19.460731デフォルトの名無しさん
2011/11/19(土) 02:13:30.33C++03でのmoveのエミュレーションの限界であり仕様
ttp://www.boost.org/doc/libs/1_48_0/doc/html/move/emulation_limitations.html#move.emulation_limitations.assignment_operator
0732デフォルトの名無しさん
2011/11/19(土) 02:53:37.990733デフォルトの名無しさん
2011/11/19(土) 04:00:51.160734デフォルトの名無しさん
2011/11/19(土) 08:18:33.390735デフォルトの名無しさん
2011/11/19(土) 13:13:26.510736デフォルトの名無しさん
2011/11/19(土) 14:04:06.670737デフォルトの名無しさん
2011/11/19(土) 15:16:38.02とりあえずboostとは関係ないし軽く流せよ
0738デフォルトの名無しさん
2011/11/19(土) 16:22:22.430739デフォルトの名無しさん
2011/11/19(土) 17:02:27.301.47とか古いboost使えば
>>735
boost1.48のコンテナを使うならdata_typeに必要なメンバを追加すれば通るようにはできる
>>736
どういう話だ。
>>724,728が言いたかったのはboost1.48のコンテナを使ったときの話でstd::mapでは再現しない。
>>726が言ってるのはこういう話 ttp://codepad.org/wc7uBetz。
0740デフォルトの名無しさん
2011/11/19(土) 17:02:36.690741デフォルトの名無しさん
2011/11/19(土) 23:12:47.21治りました!
ありがとうございます
0742デフォルトの名無しさん
2011/11/20(日) 07:40:41.25(1)boost〜.dll
(2)boost〜.lib
(3)libboost〜.lib ※:〜の部分は同じ
という3種類のファイルがあるのですけど、それぞれ何なのですか?
何となく、(3)が静的リンクなライブラリの本体で、
(1)が動的リンクなライブラリの本体で、(2)が(1)向けのインポートライブラリかなぁなんて考えたのですが、
どうして静的と動的と両方あるのだろうか?と考えると、さっぱりわかりません。
boostって静的リンクじゃないのですか?
0743デフォルトの名無しさん
2011/11/20(日) 08:38:29.93公式じゃないよな?
0744デフォルトの名無しさん
2011/11/20(日) 10:05:05.07んで、boostライブラリにはダイナミックリンクとスタティックリンクの2種類があるよ
ファイルの区別は>>742の通りで間違い無い
もう少し詳しくいうと、末尾に-sgdが付いているのがデバッグCRTスタティックリンク型(/MTd)、
-sが付いているのがCRTスタティックリンク型(/MT)、
-gdが付いているのはデバッグCRTダイナミックリンク型(/MDd)、
何も付いていないのがCRTダイナミックリンク型(/MD)
その他命名規則の詳細はこちら
http://www.boost.org/doc/libs/1_48_0/more/getting_started/windows.html#library-naming
0745デフォルトの名無しさん
2011/11/21(月) 07:27:35.14ダイナミックリンクはどうしてもコールゲートを通すのでリングレベルの移行など
CPUで処理すべき仕事が多く相当速度が落ちる
速度とサイズのトレードオフか
でもDLLやsoもメモリ内に読み込むのでサイズが小さいとも言えないし
同時に走らせるプログラムが多くなってきた時だけ違う
0746デフォルトの名無しさん
2011/11/21(月) 07:44:52.930747デフォルトの名無しさん
2011/11/21(月) 11:36:28.84しかもリング変えるのにコールゲートとかいつの話だ
0748デフォルトの名無しさん
2011/11/21(月) 12:13:15.700749デフォルトの名無しさん
2011/11/21(月) 12:14:32.910750デフォルトの名無しさん
2011/11/21(月) 16:19:33.530751デフォルトの名無しさん
2011/11/24(木) 00:57:26.19カーネルの場合は、ゲートとなるアドレスが記述されていて、
そこへ飛ぶとメモリー空間がユーザー空間からカーネル空間へ変わる。
通常のDLLは、ユーザー空間にコードマッピングして、関数テーブルを
そこのアドレスに書き換えてるだけ。
0752デフォルトの名無しさん
2011/11/24(木) 21:03:45.95boost::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));
0753デフォルトの名無しさん
2011/11/24(木) 21:43:07.29メンバ関数がどんな型になるか勉強しなおしたほうがよさそう
0754デフォルトの名無しさん
2011/11/24(木) 22:03:39.03ありがとうございます!
いろいろとカン違いしていました。
返り値型がconst int &というのも言われてみればなるほどで、
自分はまだまだ勉強が足りないですね。。
0755デフォルトの名無しさん
2011/11/25(金) 00:07:39.70引数にマルチバイト文字しか受け付けないし、
文字コード宣言があるXML文書のパースを
ロケール指定して使うproperty_treeに依存するとかあほですか
0756デフォルトの名無しさん
2011/11/25(金) 16:11:45.030757デフォルトの名無しさん
2011/11/25(金) 22:45:17.23一致したruleのrangeを示すiteratorが欲しいのですがclassicを使うしか方法はないのでしょうか?
例えば、以下の様にしたいです。
void action(Iter first, Iter last){ ... }
//...
(char_('(') >> *char_('0') >> char_(')'))[action];
0758デフォルトの名無しさん
2011/11/25(金) 22:48:13.140759デフォルトの名無しさん
2011/11/26(土) 13:15:59.820760デフォルトの名無しさん
2011/11/26(土) 15:08:01.25TMPに馴染みのない人がfusionの説明見たら引くでしょ。
0761デフォルトの名無しさん
2011/11/26(土) 20:56:08.160762デフォルトの名無しさん
2011/11/26(土) 20:58:58.390763デフォルトの名無しさん
2011/11/26(土) 21:23:12.420764デフォルトの名無しさん
2011/11/26(土) 21:25:13.00オレオレ言語作るときに使えないか期待している。
しかし、まだ俺にそのスキルはない。。。
0765デフォルトの名無しさん
2011/11/27(日) 00:43:23.40みんなどうやってんの?
0766デフォルトの名無しさん
2011/11/27(日) 00:45:44.670767デフォルトの名無しさん
2011/11/27(日) 00:49:14.99極限までOCするとちょっと速くなる
結局並列ビルドが効く様な構成にしてその上でクロック周波数を極限まで上げるしかない
後はメモリアクセス速度とCPUのキャッシュ容量も効いてくるかもな
0768デフォルトの名無しさん
2011/11/27(日) 02:26:15.970769デフォルトの名無しさん
2011/11/27(日) 08:09:02.140770デフォルトの名無しさん
2011/11/28(月) 09:48:46.81多倍長整数型をまずstringに代入し、一桁ずつの分割をして、それをboostでint型に変換してみようとしています。
つまり、charを使わないで
多倍長整数→string→string一桁ずつ→int
の変換をしたいのです。
お尋ねしたいのが、string→string一桁ずつの変換をどのように行ったらいいのかということなんです。
もしわかる方がいらっしゃるなら教えていただけると嬉しいです。
0772デフォルトの名無しさん
2011/11/28(月) 10:14:46.900773デフォルトの名無しさん
2011/11/28(月) 10:16:56.88言われてみればそうやれば簡単にできそうですね
0774デフォルトの名無しさん
2011/11/30(水) 03:44:49.48素直にboost::threadですかね・・・
boost Proの全自動インストーラーのほうが便利ですね
入れるなら
0775デフォルトの名無しさん
2011/12/02(金) 21:24:52.86かたっぱしからオブジェクトのメンバーをprintしてくれる
debug関数みたいなのないですか
0776デフォルトの名無しさん
2011/12/03(土) 13:04:42.910777デフォルトの名無しさん
2011/12/03(土) 18:27:57.730778デフォルトの名無しさん
2011/12/03(土) 19:10:34.410779デフォルトの名無しさん
2011/12/04(日) 01:45:36.460780デフォルトの名無しさん
2011/12/07(水) 12:42:57.64boost::this_thread::sleep(boost::posix_time::milliseconds(1));
↑ふたつって、意味は同じ?
それとも、下側のソースは、基準になる現在時刻がないから、最低の時間(オーバヘッド)のsleepになる?
どういうルールでどのテンプレートが利用されるのかが理解できないです。
よろしくおねがいします。
…boostスレに書いたほうがいいです?(過疎ってるみたいなのでこちらに書いてみました。)
>【初心者歓迎】C/C++室 Ver.76【環境依存OK
>>836 @ 2011/11/30(水) 10:57:59.02
でも同じ質問を書きましたのでマルチです。1week経ったので引っ越しました。
0781デフォルトの名無しさん
2011/12/07(水) 15:53:52.11「著作権表示、ライセンス条文、無保証の旨」を書かないと駄目なんでしょうか?
それとメルセンヌ・ツイスタに限らずboostを利用する際にライセンスに関わる注意点はありますか?
0782デフォルトの名無しさん
2011/12/07(水) 16:34:29.67random/mersenne_twister.hpp を見るとライセンスがhttp://www.boost.org/LICENSE_1_0.txtであるとわかる。
バイナリ配布にあたってはライセンス同梱は必要ないようだが、
mersenne_twister.hpp込みでソースを配布するならライセンス表示、同梱は必要だろう。
これはboost全体に言える。
0783デフォルトの名無しさん
2011/12/07(水) 16:44:24.56ありがとうございます
ヘッダを見ればよかったんですね
0784デフォルトの名無しさん
2011/12/07(水) 20:15:47.01> 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ミリ秒間)待機するもの。
どっちになるかは引数の型で決まる。
0785デフォルトの名無しさん
2011/12/15(木) 07:47:16.25例えば、"." を検索すると”あ”等のマルチバイト文字にマッチするのでしょうか?
0786デフォルトの名無しさん
2011/12/15(木) 07:48:07.750787デフォルトの名無しさん
2011/12/15(木) 12:25:20.070788デフォルトの名無しさん
2011/12/15(木) 13:51:07.460789デフォルトの名無しさん
2011/12/16(金) 06:51:38.220790デフォルトの名無しさん
2011/12/20(火) 03:53:05.45工夫してunion使った方がマシな気がする
実行速度を落さないunionの拡張はboostにないのだろうか
0791デフォルトの名無しさん
2011/12/20(火) 08:49:08.27素の union で何が不満なの?
0792デフォルトの名無しさん
2011/12/20(火) 10:41:49.000793デフォルトの名無しさん
2012/01/03(火) 13:59:33.58arrayで要素数を省略した初期化って現状不可能ですか?
0794デフォルトの名無しさん
2012/01/03(火) 17:48:55.480795デフォルトの名無しさん
2012/01/03(火) 18:12:16.280796デフォルトの名無しさん
2012/01/03(火) 18:51:36.87後決めしたいというより、ただただ書くのを省略したいだけなんですがね。。。
0797デフォルトの名無しさん
2012/01/03(火) 19:16:16.71#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;
}
省略できてもあまり嬉しくなかった。
0798デフォルトの名無しさん
2012/01/03(火) 19:45:18.04のような事をしたかったってことなんだろうね
0799デフォルトの名無しさん
2012/01/03(火) 20:56:46.18配列を使いたかったから。
0800デフォルトの名無しさん
2012/01/03(火) 21:55:20.06結局boost使うことにしたのかな
0801デフォルトの名無しさん
2012/01/06(金) 12:54:36.97ublasの方が速い場合ってエクスプレッショナルテンプレートが効く場合だけ?
gccのコンパイルオプションで同じぐらいの速度にならないものだろうか
0802デフォルトの名無しさん
2012/01/06(金) 14:50:46.10どうでもいいがプリプロセッサの
可変長引数でコンパイルエラー
世の中C99対応のコンパイラばかりではない
0803デフォルトの名無しさん
2012/01/06(金) 14:54:39.38分岐の少ない問題でOpenCVがublasごときに負けたら
OpenCVの存在意義が無くなると思うが?
OpenCVはGPUを使って数百の並列実行してるんだからな。
0804デフォルトの名無しさん
2012/01/06(金) 21:00:18.400805デフォルトの名無しさん
2012/01/07(土) 20:45:04.630806progress_display
2012/01/08(日) 15:36:56.20挨拶が遅くなり申し訳ありませんが、今年も何卒宜しくお願いいたします。
0807デフォルトの名無しさん
2012/01/09(月) 13:20:18.76開けましておめでとうございます。
ところで、後でちょっとお話がありますので、
会議室を1時間くらい予約しておいてください
よろしく
0808progress_display
2012/01/09(月) 14:36:31.42やだ課長、1時間は短いですよぉ
0810boost::tuple
2012/01/09(月) 20:23:36.800811デフォルトの名無しさん
2012/01/09(月) 20:26:00.89どれが一番いいのかわからない
x86 amd64 のwindows linux mac で動けばいいのだけど
0812progress_display
2012/01/13(金) 23:37:40.000813デフォルトの名無しさん
2012/01/13(金) 23:51:00.440814デフォルトの名無しさん
2012/01/14(土) 05:42:46.00共有管理オブジェクトにはweak_ptr用のカウンタもある。
大した違いかどうかは場合による。
0815デフォルトの名無しさん
2012/01/14(土) 09:35:55.06生成破棄 intrusive_ptr
参照カウント増減 shared_ptr
0816デフォルトの名無しさん
2012/01/18(水) 15:11:46.99自分で定義した(例えば多倍精度浮動小数点数)型を数学関数内部でも使える様にするにはどうすればいいですか?
0817デフォルトの名無しさん
2012/01/18(水) 23:51:54.60やったことはないがその型に対してこれ↑を満たすように必要なものを自分で書けばboost::mathでその型を使えるんだろ
0818デフォルトの名無しさん
2012/01/20(金) 03:32:32.30{
c.assign( 0 );
}
error: invalid initialization of reference of type ‘boost::array<int, 3ul>&’ from expression of type ‘const boost::array<int, 3ul>’
arrayを参照引数にできないんだっけ?
0819デフォルトの名無しさん
2012/01/20(金) 07:59:21.04おまいはエラーメッセージも読めんのか?
0820デフォルトの名無しさん
2012/01/20(金) 08:58:09.760821デフォルトの名無しさん
2012/01/21(土) 05:12:42.79a.begin()
で参照できないのがちょっと気持ち悪い
0822デフォルトの名無しさん
2012/02/01(水) 23:49:52.050823デフォルトの名無しさん
2012/02/02(木) 00:18:21.01ありませんか?
0824デフォルトの名無しさん
2012/02/02(木) 16:01:00.05一方、Windowsではサイズがでかい上にビルドにかなり時間がかかる。
この差はなんでつか?ちなみにWindowsではVCで使う感じです
0825デフォルトの名無しさん
2012/02/02(木) 16:32:49.790826デフォルトの名無しさん
2012/02/02(木) 17:06:15.79Windowsでは全部落としてきて自分でビルドしたからか
0827デフォルトの名無しさん
2012/02/03(金) 01:20:40.57なんでpoco不可?
0828デフォルトの名無しさん
2012/02/03(金) 08:07:34.000829デフォルトの名無しさん
2012/02/05(日) 22:05:47.610830デフォルトの名無しさん
2012/02/06(月) 23:10:55.090831デフォルトの名無しさん
2012/02/09(木) 00:01:35.59boost::serializationを使うと、アプリケーションを作成するためのプロジェクトでも
.libと.expを作ってくれるようになるのですが、これを抑制する方法はないでしょうか?
0832デフォルトの名無しさん
2012/02/09(木) 00:02:11.180833デフォルトの名無しさん
2012/02/09(木) 01:54:03.780834デフォルトの名無しさん
2012/02/09(木) 02:07:40.850835デフォルトの名無しさん
2012/02/09(木) 12:57:55.72前に別のライブラリで同じ症状に遭ったことがあるけど、解決策見つからず
本当にどうしても嫌なら、ビルド後のプロセスでdelするとか・・・
0836デフォルトの名無しさん
2012/02/09(木) 15:29:48.48ファイルを消せばいいってもんじゃないだろ
どこかで間違えて__delcspec(dllexport)が定義されてるんだろうね
0837デフォルトの名無しさん
2012/02/09(木) 18:34:24.22ttp://codepad.org/bp6RCbxw
boost::shared_ptrのシリアライズコードを改造して、std::shared_ptr用の物を書いたのですが、
コレにカスタムデリータのサポートを追加するいいアイデア無いでしょうか?
0838デフォルトの名無しさん
2012/02/09(木) 22:45:06.20pro買わないとネットワーク系全滅だし
0839デフォルトの名無しさん
2012/02/10(金) 12:34:22.38linuxでC++やるときってエディタ何使うんですか
emacsのタグジャンプの設定で苦労した覚えが
今はもっといいのあるんだろうか
0840デフォルトの名無しさん
2012/02/10(金) 17:27:39.08ワーカーは仕事を一通り終えた後、管理クラスが終了許可を出すまで「待ち」を行うようにするため、mutexとconditionを用いています。
管理クラスが終了許可を出せば「待ち」が解除されてスレッドとして動作していた関数を完了するのですが、待ちが解除されるときにmutexにロックがかけられてしまいます(それより前でmutexにロックはかけていない)。
そのため、ワーカーが破棄されるときにmutexでunlock()関数を使わないとエラーが生じます。
ワーカーで行いたいことは通知が来るまで待つだけで、排他制御の必要はありませんが、わざわざunlock()を使わなければならないのでしょうか。
イメージ的にはconditionにmutexを渡さないwait()があれば期待通りになりそうなのですが、それは存在しません。
よろしくお願いします。また私の解釈に間違いがあれば指摘いただけると幸いです。
0841デフォルトの名無しさん
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
0842デフォルトの名無しさん
2012/02/11(土) 17:00:53.33返信ありがとうございます。
管理側は仕事追加・終了許可時に、ワーカーのインスタンスそれぞれのメンバー変数である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
0843デフォルトの名無しさん
2012/02/12(日) 07:46:49.88unique_lockのローカル変数を作ればunlockを呼び出す必要は無い。
condition_variableは他の変数と一緒に使うことが前提。
waitはnotifyの通知以外でも誤って解除されるのでbool変数などと合わせて使わないとだめ。
bool変数で確認するからにはmutexでの排他制御が必要。
0844デフォルトの名無しさん
2012/02/13(月) 09:57:29.58ありがとうございます。
排他制御が要らなく見えていたので、待ちの実現だけにcondition、mutex両方を使うことに冗長さを感じていたのですが、conditionはそもそも単体では使わないものなんですね。
ちなみに_cond.wait(_mtx)の記述はXcode4.2でもできています。C++の引数1つの場合の暗黙的なコンストラクターですね。
こういう場合に暗黙的にできてしまうと見落としてしまう場合があって危険だと感じます。
0845デフォルトの名無しさん
2012/02/13(月) 11:57:41.20それじゃあboostのバージョンが低いだけじゃないの?一時変数は非const参照に拘束できない。
0846デフォルトの名無しさん
2012/02/13(月) 19:45:57.66Boost 1.48です。ちなみに上記の_mtxはワーカークラスのメンバー変数です。
0847デフォルトの名無しさん
2012/02/13(月) 19:55:58.52そうか。あとはコードを実際に追わないと分からないわ。
0848デフォルトの名無しさん
2012/02/14(火) 07:34:07.70誰かピンとくる人居ないか…助けてくれ
0849デフォルトの名無しさん
2012/02/15(水) 01:04:19.29async_read_until使えば?
0850デフォルトの名無しさん
2012/02/15(水) 15:40:45.11これらのファイル自体には問題は無く、何らかの依存関係でエラーが出ているんだろうということは想像がつくのですが、全く原因がわかりません。
何かこのような現象について心当たりのある方は居られないでしょうか。
Xcode4.2で、ヘッダーサーチパスには/opt/local/includeを(boostはこの下にインストール)設定しています。ライブラリーファイルのリンクも行っています。
よろしくお願いします。
0851デフォルトの名無しさん
2012/02/15(水) 19:46:15.26原因はboostを使っているソースファイルとは別のファイル内で定義した「swap」という名称のマクロでした。
それぞれのソースファイルを最終的にmain関数で参照する形となっていたためにboost内の何かとマクロ名が衝突したようです。
自分で定義したswapをユニークな名称に変更することで解決しました。
今後どなたかの参考になれば幸いです。
0852デフォルトの名無しさん
2012/02/15(水) 19:49:52.510853デフォルトの名無しさん
2012/02/15(水) 21:30:41.910854デフォルトの名無しさん
2012/02/15(水) 22:26:50.210855デフォルトの名無しさん
2012/02/15(水) 22:40:49.070856デフォルトの名無しさん
2012/02/15(水) 22:45:19.130857デフォルトの名無しさん
2012/02/15(水) 22:53:13.67よくねぇよ。
規格にちゃんと、
「標準ライブラリーのヘッダーをincludeする翻訳単位は、全標準ライブラリーヘッダーで宣言されている名前を#defineもしくは#undefしてはならない。」
と書いてある。
だから、ひとつでもどれか標準ライブラリーのヘッダーをincludeしたならば、swapという名前は#defineも#undefもできない。
0858デフォルトの名無しさん
2012/02/15(水) 23:06:42.94max
0859デフォルトの名無しさん
2012/02/15(水) 23:27:50.00swapって名前標準ライブラリーにあるの?
0860デフォルトの名無しさん
2012/02/15(水) 23:29:27.190861デフォルトの名無しさん
2012/02/15(水) 23:29:55.030862デフォルトの名無しさん
2012/02/15(水) 23:34:09.020863デフォルトの名無しさん
2012/02/15(水) 23:44:50.77名前だぞ名前。
クラスのメンバーにも等しく適用されると何故わからないんだ。
多くの標準ライブラリのクラスがswapという名前のメンバーを持っているのを知らないのか。
0864デフォルトの名無しさん
2012/02/16(木) 00:11:46.32MSは禿にごめんなさいしないといけないよね
0865デフォルトの名無しさん
2012/02/16(木) 03:25:04.66後出しのハゲが謝りお願いすべき
0866デフォルトの名無しさん
2012/02/16(木) 03:49:30.66コンパイラが警告吐いてくれたらいいのにな
0867デフォルトの名無しさん
2012/02/16(木) 07:22:59.71ところでassertをキーワードに昇格させて定数式なら
コンパイル時エラー出す設計にはできなかったのかな
そうするとstatic_assertと書き分けなくて良いような気もするけれど
0868デフォルトの名無しさん
2012/02/16(木) 12:13:03.950869デフォルトの名無しさん
2012/02/16(木) 12:38:53.660870デフォルトの名無しさん
2012/02/16(木) 12:38:56.08果たしてこれはよくないのかどうか・・・
0871デフォルトの名無しさん
2012/02/16(木) 15:37:52.34…
while(!ready) {
cond.wait(lock);
}
…
のようになっていますよね。これを起こす場合には
ready = true;
cond.notify_all();
とすると思うのですが、while分の!readyを判定してからcon.waitをかけるまでの間に上記の起こすコードが呼ばれた場合には、動かなくなってしまう気がします。
これを回避する方法などあるのでしょうか。timed_waitでしょうか。
0872デフォルトの名無しさん
2012/02/16(木) 18:47:36.71cond.wait(lock);でロックを要求している素晴らしい設計を無視するなよ
0873デフォルトの名無しさん
2012/02/16(木) 19:01:27.73ありがとうございます。
よくよく考えてみるとwhile文の前と起こすコードの先頭でミューテックスをロックすればいいんですね。
今まで引っかかっていたものがスッキリとれました!
0874デフォルトの名無しさん
2012/02/16(木) 21:10:13.560875デフォルトの名無しさん
2012/02/27(月) 18:51:24.800876デフォルトの名無しさん
2012/03/01(木) 01:31:34.530877デフォルトの名無しさん
2012/03/04(日) 14:05:48.470878デフォルトの名無しさん
2012/03/06(火) 21:26:03.540879デフォルトの名無しさん
2012/03/06(火) 22:17:31.080880デフォルトの名無しさん
2012/03/06(火) 23:36:14.790881デフォルトの名無しさん
2012/03/06(火) 23:51:07.070882デフォルトの名無しさん
2012/03/07(水) 00:00:44.760883デフォルトの名無しさん
2012/03/07(水) 09:58:05.770884デフォルトの名無しさん
2012/03/07(水) 18:03:57.160885デフォルトの名無しさん
2012/03/10(土) 00:18:09.270886デフォルトの名無しさん
2012/03/10(土) 14:27:31.510887デフォルトの名無しさん
2012/03/11(日) 00:11:07.280888デフォルトの名無しさん
2012/03/11(日) 00:46:18.100889デフォルトの名無しさん
2012/03/11(日) 02:29:45.810890デフォルトの名無しさん
2012/03/11(日) 09:45:46.390891デフォルトの名無しさん
2012/03/11(日) 18:41:57.170892デフォルトの名無しさん
2012/03/11(日) 20:16:36.140893デフォルトの名無しさん
2012/03/11(日) 23:11:17.860894デフォルトの名無しさん
2012/03/11(日) 23:36:25.700895デフォルトの名無しさん
2012/03/11(日) 23:45:41.650896デフォルトの名無しさん
2012/03/12(月) 00:07:56.910897デフォルトの名無しさん
2012/03/12(月) 00:33:35.99Boost.Moveのことなら知らん
0898デフォルトの名無しさん
2012/03/12(月) 00:37:49.120899デフォルトの名無しさん
2012/03/12(月) 00:49:09.560900デフォルトの名無しさん
2012/03/13(火) 00:46:51.29伝説の流川
伝説の呂布
解説の掛布
風疹の漁夫
ふーてんの流浪
妖鳥の流布
入れ墨の鯨布
風の谷の呂布
骨折に湿布
聖教新聞の配布
電設の鈴木
通風の湿布
テンセルの毛布
テンソルの分布
ピンサロの主婦
風雪ながれ旅
風雪の露天風呂
風俗で炉利
風俗の幕府
風てんのトラ
温泉の掛川
風の谷のナウシカ
季布の一諾
空席の椅子
秀策の棋譜
特攻の拓
ピンフの20符
0901progress_display
2012/03/19(月) 23:18:49.040902デフォルトの名無しさん
2012/03/24(土) 20:20:56.520903デフォルトの名無しさん
2012/03/25(日) 11:34:46.670904営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 06:51:48.14あれ、あなた風の噂で左遷されたって噂を聞いてたけど・・・?
0905営利利用に関するLR審議中@詳細は自治スレへ
2012/04/11(水) 19:36:20.60void func {
if (auto i = test() && i.get() != -1) {
return ;
}
}
これコンパイル通らないけどどうして?
0906営利利用に関するLR審議中@詳細は自治スレへ
2012/04/11(水) 20:00:01.390907営利利用に関するLR審議中@詳細は自治スレへ
2012/04/11(水) 20:16:53.92↑
0908デフォルトの名無しさん
2012/04/11(水) 21:59:09.930909デフォルトの名無しさん
2012/04/12(木) 00:58:06.25そこじゃなくて
>if (auto i = test() && i.get() != -1) {
俺が言いたいのはこっちのほうだった
auto i = test()この段階で初期化されてるはずなんだけどどうして無理なんだろう
0910デフォルトの名無しさん
2012/04/12(木) 01:05:06.21規定された条件部の文法↓にマッチしないから。
condition:
expression
attribute-specifier-seq/opt decl-specifier-seq declarator = initializer-clause
attribute-specifier-seq/opt decl-specifier-seq declarator braced-init-list
0911デフォルトの名無しさん
2012/04/12(木) 01:25:55.07そもそも規格上無理なのね
ありがとう
0912デフォルトの名無しさん
2012/04/21(土) 16:18:52.52boost::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: '->*' : 無効な左オペランドです。
}
0913デフォルトの名無しさん
2012/04/21(土) 17:52:34.92boost::bindでクラスのメンバ関数ポインタを拘束した場合、第一引数はそのクラスのインスタンス(かインスタンスのポインタとか)になる
boost::bind(&MyTestClass::print, myTestClass, str)
0914デフォルトの名無しさん
2012/04/21(土) 18:08:58.52ありがとうございます。無事にコンパイルが通りました。
0915デフォルトの名無しさん
2012/04/21(土) 19:19:10.20クラスそのものを別スレッドで動かしたい場合は、どのように指定すればよいでしょうか?
0916915
2012/04/21(土) 20:04:05.95boost::threadにクラスのコンストラクタを渡せば、そのクラスは別スレッドで動いてくれるのかと思ったけど
勘違いでしょうか?
0917デフォルトの名無しさん
2012/04/21(土) 20:54:52.22・・・って関数オブジェクトのことか?
関数オブジェクトのインスタンスを渡せばそのoperator()を別スレッドで実行させることはできる
0918デフォルトの名無しさん
2012/04/21(土) 21:32:08.83具体的にどんなコードを書きたいのかここに出したほうが良いと思う。
0919915
2012/04/21(土) 21:36:19.05そのクラスを別スレッドにして、プロシージャなどの処理をしたかったんです。
とりあえず、グローバル関数作って、その中でクラスのインスタンスを作って、
boost::threadでそのグローバル関数を呼び出す形にしてみました。
いちいち関数を作るのも面倒なので、無名関数でやってみようかな。
無名関数使ったことないけど。
0920デフォルトの名無しさん
2012/04/22(日) 02:06:07.47boostを使ってできますでしょうか?
0921デフォルトの名無しさん
2012/04/22(日) 02:13:52.12イベントはシステム側の要求でとある時に「この処理をどうします?」ってプログラマに聞くことなのでそれは可能。
で、リスナは結局デリゲートかなんかに処理をキックする機構なので、
例えばバインドなどでインスタンス関数をイベントに渡したりしたとして、そのインスタンスの寿命がなくなって無効になるタイミングをコントロール出来れば可能だろう。
と、言うわけでできなくは無いけど、GC無いからそこをどうにかしないと難しいと思う。
0922デフォルトの名無しさん
2012/04/25(水) 18:39:55.58例えば、RPGゲームのマップ移動の最短経路を求めたいとします。
ただしマップを通過できるかどうかは条件があって、
・一定のキャラクターレベルを超えていないと通れない
・特定のアイテムを所有していないと通れない
などの条件があります。
私の考えたチープなやり方では、propertyでマップノードごとにRequireLevel、RequireItems
などを持たせて、
レベルによってグラフノードの書き換えをする関数、
DisableGraphByLevel(graph,characterInfo);
アイテムの有無によってグラフノードの書き換えをする関数、
DisableGraphByItem(graph,characterInfo);
などを処理してから、グラフに対して最短経路アルゴリズムを実行するという形です。
ただ、これだと処理後に毎回グラフを元に戻さないといけないし、
条件がより複雑なものが追加されるとこの形では対応できません。
それに第一、スマートではありません。
boostっぽく処理するにはどのように設計すればよろしいでしょうか?
0923やんやん ◆yanyan72E.
2012/04/26(木) 02:13:10.40これの、distance_mapとか、distance_compareとかdistance_combineとかを
うまく定義すれば、グラフを書き換えなくても望みの動作をさせられるんでない?
0924922
2012/04/27(金) 14:45:37.73ありがとうございます。参考にして見ます。
boostを使うだけでなく、boostの中身を理解して、自分でアロケーターだとか
イテレーターとか作ってみたいと思っているのですが、
やんやんさんのように高度に詳しくなるには、どういった書籍やサイトがお勧めでしょうか?
よろしければ教えてください。
0925デフォルトの名無しさん
2012/04/27(金) 18:41:03.110926デフォルトの名無しさん
2012/04/27(金) 22:27:30.41if (auto i = test() && i.get() != -1) {
↓
auto i = test() && i.get() != -1;
↓
auto n = test() && i.get() != -1;
auto i = n;
多少構文をばらしてみれば無理なの解るだろ
0927デフォルトの名無しさん
2012/04/27(金) 22:29:18.96boost::functionとboost::bindと、なんかブロードキャストするクラスか
なんかがあったから、それ組み合わせりゃ楽にできるよ
0928デフォルトの名無しさん
2012/04/27(金) 22:43:36.06興味があるところから入っていって、もっと知りたいと思ったら勝手に詳しくなるもの
0929デフォルトの名無しさん
2012/04/27(金) 23:47:34.23boost::signals2はどうだろ
0930デフォルトの名無しさん
2012/05/20(日) 00:07:51.46どうすればいいでしょうか?
開発環境はVC++ 2008/2010 WinXPです
ソースコードは
http://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') です。イメージを実行できません。
0931デフォルトの名無しさん
2012/05/20(日) 00:31:14.34本当にC++ですか?
0932デフォルトの名無しさん
2012/05/20(日) 07:07:29.09C++/CLIはC++じゃありません
0933デフォルトの名無しさん
2012/05/21(月) 12:40:42.28昔いろいろやってコンパイルだけはできるようになったけど、結局動くことはなかった
0934デフォルトの名無しさん
2012/05/21(月) 13:07:13.78C#でも不可能と言うことになる。
0935デフォルトの名無しさん
2012/05/21(月) 15:37:34.03混在してもまともに動く気がしない
0936デフォルトの名無しさん
2012/05/21(月) 15:43:05.54933の言っているのはboost threadの話。
boostスレだからboostは省いたんだろう。
0937デフォルトの名無しさん
2012/05/25(金) 18:04:12.87stringを返すruleを使うと、一番上までstringを返さないと存在しないAttribute(string)にアクセスしようとして
不正落ちしてしまいます。
パース中に使用し終わって、解析後にまで残す必要ないものなので捨てたいんですが・・・
あとついでに
>>757
http://www.boost.org/doc/libs/1_49_0/libs/spirit/doc/html/spirit/qi/reference/directive/raw.html
このディレクティブを使えばiterator_rangeを受け取れるようです
0938デフォルトの名無しさん
2012/06/03(日) 09:10:19.76Version 1.36 では使えません、どのバージョンなら使えますか。
もしかして、まだ、未対応ですか?
0939デフォルトの名無しさん
2012/06/03(日) 09:14:06.80少なくてもその辺以降なら使えるんじゃないだろうか。
後は詳しい人よろしく
0940デフォルトの名無しさん
2012/06/03(日) 09:26:54.170941デフォルトの名無しさん
2012/06/03(日) 10:10:51.40thx です。
ごめんなさい、バージョンを間違えていました。
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 に入っているようなので
どうしたら使えますか?
0942デフォルトの名無しさん
2012/06/03(日) 10:26:23.13マクロできってやるだけで、V2使えました。
0943デフォルトの名無しさん
2012/06/11(月) 18:33:25.03ってもう見てないよね
0944デフォルトの名無しさん
2012/06/11(月) 23:13:13.000945デフォルトの名無しさん
2012/06/14(木) 00:15:07.24でコンテナに同じ要素を2つ以上登録するのってできないの?
lets boostの例で同じ要素追加しようとしたらエラーになった
lst.push_back(*pa);
lst.push_back(b);
lst.push_back(c);
lst.push_back(*pa); ここでおかしくなる
0946デフォルトの名無しさん
2012/06/14(木) 11:28:56.17lst.push_back(d);
しよう
0947デフォルトの名無しさん
2012/06/14(木) 11:38:00.10できない。仕組み考えればわかるだろ
class hoge
{
hoge *prev;
hoge *next;
int value;
}
みたいな構造でprevやnextに自分自身のポインタを入れてリンクの終端を探して探索すれば無限ループになる
0948デフォルトの名無しさん
2012/06/14(木) 21:50:25.15DLLの入出力なんかに使ったら、常にexeとdllで同じバージョンに保っとかないと
クラッシュするよね。なんで:interprocessの中に入ってんの?
0949デフォルトの名無しさん
2012/06/14(木) 23:31:39.75?
それをいうならshared_ptrに限らず異なる領域にあるモジュール間の通信に使うものは
双方のモジュールで互換性のあるものを使わないと問題がでるけど。
(必ずしも同じバージョンの同じライブラリを使う必要はない。そのほうが単純に楽で確実性が高いだけ)
それとBoost.'Interprocess'は名前どおりのプロセス間通信用に限定されたものでなくスレッド間通信用のライブラリでもある。
0950デフォルトの名無しさん
2012/06/15(金) 22:18:05.21やっぱダメなんやね。
外から見るとテンプレートで型安全。
内部ではvoid* で保持。
実装ははpimplでDLLに配置ってな感じで
自前でスマポ作らないと安全な仕様は無理か。
0951デフォルトの名無しさん
2012/06/15(金) 22:45:31.070952デフォルトの名無しさん
2012/06/18(月) 11:01:26.912000x2000もそこそこの時間ででき
A*A-1もきっちり単位行列で帰ってきた。
教えてほしいのですが、
boostのLU分解は
マルチスレッド対応なのか
丸め誤差を内部できっちりやってるのでA*A-1が正確なのか
10000x10000はboost LU分解で対応できるのか?
0953デフォルトの名無しさん
2012/06/19(火) 01:46:26.940954デフォルトの名無しさん
2012/06/19(火) 08:40:11.35勝手にマルチスレッドになるなんてことあったかな
0955デフォルトの名無しさん
2012/06/19(火) 15:32:24.790956デフォルトの名無しさん
2012/06/20(水) 14:52:23.16で勝手に動的リンクするMSVC
があるのだから、同じようにマルチスレッドもやってくれたりするかも
0957デフォルトの名無しさん
2012/06/20(水) 21:34:35.490958デフォルトの名無しさん
2012/06/24(日) 20:50:34.160959デフォルトの名無しさん
2012/06/24(日) 21:44:57.330960デフォルトの名無しさん
2012/06/25(月) 23:13:19.35unique_ptr版enable_shared_from_thisってなくね?
0961デフォルトの名無しさん
2012/06/25(月) 23:15:27.120962デフォルトの名無しさん
2012/06/27(水) 02:19:27.260963デフォルトの名無しさん
2012/06/28(木) 20:18:55.33ごめん間違えたわ。親クラスでunique_ptrを返すように定義してあった場合、
手持ちのshared_ptrを返すにはって事だった。
thisかどうかはどうでも良かったわ。
0964デフォルトの名無しさん
2012/07/01(日) 05:26:32.68program_optionsでエラー吐くんだけど俺だけ?
0965デフォルトの名無しさん
2012/07/01(日) 09:38:18.980966デフォルトの名無しさん
2012/07/02(月) 19:08:47.83「グローバルにusing namespace std; していると、後から使うsetという名前が衝突してしまうらしいので注意。」
http://d.hatena.ne.jp/hayamiz/20071024/1193242874
とのことで解決。サンクス。
0967デフォルトの名無しさん
2012/07/07(土) 21:15:33.90超はえー
boost::regex
不要となったなw
0968デフォルトの名無しさん
2012/07/07(土) 21:29:37.58すべての処理系で速くなったのか?
0969デフォルトの名無しさん
2012/07/08(日) 00:18:39.710970デフォルトの名無しさん
2012/07/08(日) 06:58:34.760971デフォルトの名無しさん
2012/07/08(日) 09:30:21.610972デフォルトの名無しさん
2012/07/08(日) 09:31:22.400973デフォルトの名無しさん
2012/07/08(日) 23:27:33.06Blits++とか良い例
0974デフォルトの名無しさん
2012/07/08(日) 23:28:24.740975デフォルトの名無しさん
2012/07/08(日) 23:54:37.83以前は互換の問題で使いづらかったけどもうregex使い続ける意味ない
0976デフォルトの名無しさん
2012/07/09(月) 01:02:41.69単純にdereferenceでboost::tupleを返してもwarning出るんだ…
0977デフォルトの名無しさん
2012/07/13(金) 16:51:19.791.47は1Gもあるのに
0978デフォルトの名無しさん
2012/07/13(金) 17:50:38.890979デフォルトの名無しさん
2012/07/13(金) 18:15:31.5532bit/64btで.dllを生成するもの以外の
全オプションの組み合わせのバイナリ含み
全部で6GBだけど
7zの最高圧縮率でまとめると250MB切った
7zipスゴイw
0980デフォルトの名無しさん
2012/07/13(金) 18:51:22.401.50はうち1.75GBあるんやけど
0981デフォルトの名無しさん
2012/07/14(土) 01:11:45.97Unix用のbz2で50Mとは。圧縮度けっこう違うんだな。知らなかったすごい。
レス数が950を超えています。1000を超えると書き込みができなくなります。