1 名前:デフォルトの名無しさん [2010/05/28(金) 11:49:47 ] 過去スレ Part 8 pc12.2ch.net/test/read.cgi/tech/1251446016/ part 7 pc12.2ch.net/test/read.cgi/tech/1232367742/ part 6 pc11.2ch.net/test/read.cgi/tech/1207749841/ part 5 pc11.2ch.net/test/read.cgi/tech/1192662575/ part 4 pc11.2ch.net/test/read.cgi/tech/1175663346/ part 3 pc11.2ch.net/test/read.cgi/tech/1158991211/ part 2 pc8.2ch.net/test/read.cgi/tech/1139313234/ part 1 pc8.2ch.net/test/read.cgi/tech/1091198276/ ■関連サイト■ Boost C++ Libraries www.boost.org/ Boost 翻訳プロジェクト boost.cppll.jp/HEAD/ Let's Boost www.kmonos.net/alang/boost/ boost info shinh.skr.jp/boost/
81 名前:デフォルトの名無しさん mailto:sage [2010/07/24(土) 12:02:15 ] alohakun.blog7.fc2.com/blog-entry-586.html lispから読めるCを生成する別な方法
82 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 04:40:34 ] boost-buildと、boost-jamの関係を教えてください。
83 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 23:37:31 ] 恋人
84 名前:デフォルトの名無しさん mailto:sage [2010/08/06(金) 05:29:27 ] 英語のドキュメント読んでましたが、よく分かりませんでした。 まじめにお願いします。
85 名前:デフォルトの名無しさん mailto:sage [2010/08/07(土) 21:52:40 ] lover
86 名前:デフォルトの名無しさん mailto:sage [2010/08/07(土) 23:06:13 ] boostjamはインタプリタ
87 名前:デフォルトの名無しさん mailto:sage [2010/08/08(日) 23:56:10 ] gauche.cgen.cise のコード読んでるんだが、これあったらboostいらないかもしれない
88 名前:デフォルトの名無しさん mailto:sage [2010/08/11(水) 06:35:05 ] comp.lang.lispに書いてること信じるなら thinlispの方がgauche.cgen.ciseよりすごいかもしれない makefile *.hまで生成するっぽい
89 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 21:17:55 ] a
90 名前:デフォルトの名無しさん mailto:sage [2010/08/16(月) 20:26:00 ] >>70 の使い方をまとめた CiSE simple example d.hatena.ne.jp/niitsuma/20081113/1281521109
91 名前:デフォルトの名無しさん [2010/08/17(火) 03:24:37 ] 1.44 Boost C++ Libraries www.boost.org/
92 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 09:18:48 ] >>90 これデバッグはしやすい?
93 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 10:19:11 ] >>90 別にスレ建てたほうが注目してもらえるよ。 「S式でCを書くCiSEスレ」とかにすれば関数型ファンがすぐ集まるよ
94 名前:● mailto:sage [2010/08/17(火) 11:20:40 ] 適当なテンプレがあるなら、自分がスレ立てるけど
95 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 12:54:13 ] なんでCでこういうのむりやりやろうとするのか疑問だわ。 言語機能に組み込んで新言語つくりゃいいのに。
96 名前:デフォルトの名無しさん [2010/08/17(火) 13:01:41 ] >>95 言語機能で提供すべきことと 言語自身を使って作るものの 単純明快な判断基準がウケたのがC 新基準を開拓に行くと出かけて帰りが遅いのがC++
97 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 13:16:18 ] lambdaが言語に組み込まれて良かったわ ずっとboost.lambda使えっていわれたらどうしようかと思った
98 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 13:25:20 ] >>92 そのための #line
99 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 14:44:32 ] >>95 lispの便利さを知ってしまうと他を使いたくなくなる (コマンドラインgcc からVisualStudioに移ったぐらいの便利さがある) しかし他から「成果はCかC++で納めてくれ」と言われることは多いらしく cise とかthinlispとかこの手の試みがいろいろされてきたようだ
100 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 15:35:02 ] まあC++も最初はCのトランスレータだったし
101 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 15:50:02 ] lispそんなにいいとも思わんしいらんわ
102 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 18:11:44 ] 誰かboostの構文生成するようなdefine-stm を作って公開しないか
103 名前:デフォルトの名無しさん [2010/08/26(木) 16:40:58 ] 質問です。 boost::tokenizer< escaped_list_separator_sjis > tok( csvLine ); for(boost::tokenizer<escaped_list_separator_sjis >::iterator p=tok.begin(); p!=tok.end();++p){ cout << *p + " ";//"\n"; これを実行するとすべてが1行にコマンドプロンプトに表示されます。 これをCSVファイルの並びと同じように行ごとに表示させたいですが どうしたらよいでしょうか?良い解決策がありましたらお願いします。 <例> a,e,d q,d,r r,u,t これを実行すると a e d q d r r u tのようになります。 これを a e d q d r r u t のようにしたいです。
104 名前:デフォルトの名無しさん mailto:sage [2010/08/26(木) 17:31:03 ] csvLineに1行ずついれてるなら for( 〜 ) {
105 名前:デフォルトの名無しさん mailto:sage [2010/08/26(木) 17:33:26 ] 間違えて送信した for( 〜 ) { cout << *p + " "; } cout << endl; とでもすればいい そういう問題じゃないのか?
106 名前:デフォルトの名無しさん [2010/08/30(月) 14:01:04 ] boost::tokenizer< escaped_list_separator_sjis > tok( csvLine ); for(boost::tokenizer<escaped_list_separator_sjis >::iterator p=tok.begin(); p!=tok.end();++p){ cout << *p + "\t"; } cout << endl; これを出力すると a e d q d r r u t なりました。ありがとうございます。 これをタブ区切りでtsvファイルに出力したいのですがどうすればよいでしょうか?
107 名前:デフォルトの名無しさん mailto:sage [2010/08/30(月) 14:05:26 ] >>106 Boostの埒外なので勝手にどうぞ。
108 名前:デフォルトの名無しさん [2010/08/30(月) 14:09:41 ] tsvってなに?
109 名前:デフォルトの名無しさん mailto:sage [2010/08/30(月) 14:21:29 ] >>108 TabSeparatedValueフォーマットの略。
110 名前:デフォルトの名無しさん [2010/08/30(月) 14:34:04 ] 106に書き込んだものです。C++で質問したいと思います。 申し訳ありませんでした。
111 名前:デフォルトの名無しさん [2010/08/30(月) 15:03:41 ] >>108 トンクス、tab区切りなのか・・・。
112 名前:デフォルトの名無しさん mailto:sage [2010/09/01(水) 12:12:26 ] Boost.Polygonきたー
113 名前:デフォルトの名無しさん mailto:sage [2010/09/01(水) 16:41:37 ] Boost.Polygonって何に使うのか全然わからね。
114 名前:デフォルトの名無しさん mailto:sage [2010/09/03(金) 22:32:03 ] boost::regex re("(\\d+)(?:,(\\d+))*"); boost::smatch result; std::string str = "1,2,3,4"; if (boost::regex_match(str, result, re)) { for (int i=0; i<result.size(); i++) printf("%d: %s\n", i, result.str(i).c_str()); } このようなコードを実行すると1と4しかresultから取り出せないんですが、 1から4まで全て取り出すにはどうしたらいいですか? 実際はもっと複雑なフォーマットなので正規表現でなんとかしたいです。
115 名前:デフォルトの名無しさん mailto:sage [2010/09/03(金) 23:00:26 ] ((\d+)(?:,|))* ただのカンマ区切りならboost::tokenizerじゃだめなの?
116 名前:デフォルトの名無しさん mailto:sage [2010/09/04(土) 20:16:45 ] 1.44ってVC10とかのmove semanticsに対応してる?
117 名前:デフォルトの名無しさん mailto:sage [2010/09/06(月) 10:13:54 ] CSVはきっちりやるなら一文字ずつチェックしていくしかないだろ。 ダブルクォートの処理とかマジめんどい
118 名前:デフォルトの名無しさん mailto:sage [2010/09/06(月) 23:34:29 ] Boost.Polygon早速仕事で使ってみてる。 なかなかいい感じ。 でもまだ機能が少ないな。 他の表現法からの取り込み対応も必要だ。
119 名前:デフォルトの名無しさん [2010/09/07(火) 14:20:33 ] 多角形の頂点管理でもしてくれるライブラリかい?
120 名前:デフォルトの名無しさん mailto:sage [2010/09/07(火) 14:44:58 ] >>119 点とか矩形みたいな基本図形もある
121 名前:デフォルトの名無しさん mailto:sage [2010/09/07(火) 14:55:09 ] 3次元のポリゴン・メッシュを管理してくれるのなら使い道もあるのだが。
122 名前:デフォルトの名無しさん mailto:sage [2010/09/09(木) 22:50:01 ] boost.interprocessってメモリアライメントを考慮してくれるんだろうか? 例えば、Win上で64bitアプリとWOW64で動いてる32bitアプリ間で 相互通信する場合はやっぱboost.mpiじゃないと駄目?
123 名前:デフォルトの名無しさん mailto:sage [2010/09/12(日) 19:09:03 ] >>114 >>117 そこはほら、Boost.Spiritで
124 名前:デフォルトの名無しさん mailto:sage [2010/09/12(日) 22:15:08 ] >>123 いまいち使い方わかってないんだが、ググってみたらCSVのパースも シンプルな式になるもんだな・・・ 面白そうだから今度やってみよう。 教えてくれてトン。
125 名前:デフォルトの名無しさん mailto:sage [2010/09/15(水) 14:59:21 ] foo-baa.cpp ってファイル名使いたい でもboostではfoo_baa.cpp なんだよね FreeBSDのxtermだと _ 消えて見えないから見にくい
126 名前:デフォルトの名無しさん mailto:sage [2010/09/15(水) 21:55:24 ] >>91 boostpro からも1.44のインストーラが出てますね。 www.boostpro.com/download/
127 名前:デフォルトの名無しさん mailto:sage [2010/09/19(日) 14:37:09 ] Boost.Logって1.45から? つうかreview scheduleにLoggingもあるんだけど やつ間接的にLogに殺されたということなのか Loggingは犠牲になったのか…
128 名前:デフォルトの名無しさん mailto:sage [2010/09/20(月) 16:01:06 ] property_treeのini_parserってメモリ上の文字列に対して使える?
129 名前:デフォルトの名無しさん mailto:sage [2010/09/20(月) 18:06:31 ] stream に対してなら使える。
130 名前:デフォルトの名無しさん mailto:sage [2010/09/20(月) 22:04:00 ] >>129 string path = "C:\\test.ini" istream stream( path ); property_tree::ptree tree; read_ini( stream, tree ); これはいけるけど、 string test = "[test]\ntest=100" istringstream stream( test ); property_tree::ptree tree; read_ini( stream, tree ); これはエラーが出る。何か間違ってるかな
131 名前:デフォルトの名無しさん mailto:sage [2010/09/21(火) 01:36:25 ] stringstreamのヘッダがインクルードされていないとかってオチ …はないかw
132 名前:デフォルトの名無しさん mailto:sage [2010/09/21(火) 04:18:26 ] >>130 試してみたけど、PHOENIX_LIMIT のコンパイルエラー以外は普通に通ったぞ(Boost 1.44 + VC9) とりあえずエラーの内容と環境貼れよ。
133 名前:デフォルトの名無しさん mailto:sage [2010/09/21(火) 21:19:18 ] >>132 すまん、勘違いしていたようだorz しょーもないミスをしていた。自己解決したんでスルーしてください
134 名前:デフォルトの名無しさん mailto:sage [2010/09/22(水) 03:47:30 BE:2161145298-2BP(0)] boost::polygonってlong long使えないのか。 std::abs(long long)が無いってエラーになる。
135 名前:デフォルトの名無しさん mailto:sage [2010/09/22(水) 03:51:58 ] int64_t
136 名前:デフォルトの名無しさん mailto:sage [2010/09/22(水) 04:56:31 BE:1050557257-2BP(0)] そっちでも同じっぽい。 std::abs(int64_t)もstd::abs(__int64)も無い。
137 名前:デフォルトの名無しさん mailto:sage [2010/09/22(水) 12:29:35 ] long longが規格に入るのはC99/C++0xからだからしょうがない
138 名前:デフォルトの名無しさん mailto:sage [2010/09/22(水) 15:34:54 ] テンプレートで実装してなかったのは何か理由があるのか?
139 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 13:46:51 ] ストリーム暗号を作っているのですが、手動でやると復号できるのに プログラムでやろうとするとうまくいきません。2回同じ暗号化を すれば元に戻るはずなのにそうなりません。 出来ればコマンドラインで暗号化復号化の選択ができるようにしたいです。 初心者でよくわからないことが多いのですがよろしくお願いします。 if (argc < 2) { printf("error\n"); return 1;} sprintf(fin, "%.255s", argv[1]); sprintf(fout, "%.250s.perm", argv[1]); if(d==0){ fp=fopen("2.perm","wb"); fq=fopen("2","rb"); }else{ fp=fopen("2.txt","wb"); fq=fopen("2.perm","rb"); 暗号化するときに fp=fopen(fout,"wb"); fq=fopen(fin,"rb"); とするのはいいのですが、復号のときに暗号化されたファイルを 読み込んで処理しても復号できない。 何のデータにばけているのかわかりません。
140 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 13:50:31 ] boostといったいなんの関係があるんだ
141 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 14:07:47 ] マルチーズ
142 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 15:35:38 ] >>140 そこに気付くとは・・・やはり天才・・・
143 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 18:05:29 ] VC++10において、BOOST_TYPEOF(hoge)とdecltype(hoge)は等価になると思っていいんでしょうか?
144 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 19:49:20 ] VC10のdecltypeは、コンパイラがクラッシュする致命的なバグがあるとか。
145 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 20:04:26 ] 大丈夫だ、問題ない
146 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 21:01:53 ] >>144 コンパイラがクラッシュするって本格的だな。 でも実行時にクラッシュするよりはマシだと思うけど。
147 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 23:02:26 ] >>144 クラッシュしないように使えば問題ない
148 名前:デフォルトの名無しさん mailto:sage [2010/09/24(金) 23:21:10 ] >>147 なぜMatz
149 名前:デフォルトの名無しさん mailto:sage [2010/09/25(土) 00:01:53 ] なんでかしらんがdecltypeって文字の並びに一瞬もよおした・・ 本能が何かを感じたようだ
150 名前:デフォルトの名無しさん mailto:sage [2010/09/25(土) 01:11:10 ] Microsoft製品はSP1が出てから乗り換えるのが基本 本体の安定性もだが、OSだとサードのソフトが、VSだとプラグインやSDK類の対応がすぐには為されないからな
151 名前:デフォルトの名無しさん mailto:sage [2010/09/30(木) 21:40:06 ] VC9で1_44 pythonの埋め込みを試しているのですが メモリリークが発生してしまいます ↓のようなコードなのですがどこがおかしいんでしょう? class Hoge {}; namespace bpy = boot::python; BOOST_PYTHON_MODULE(Hoge){ bpy::class_<Hoge>("Hoge"); } int main( int, char **) { PyImport_AppendInittab("Hoge", initHoge); Py_Initialize(); bpy::object global_ns = bpy::import("__main__").attr("__dict__"); bpy::exec( "from Hoge import *\n" "h=Hoge()\n" , global_ns , global_ns ); Py_Finalize(); return 0; } 同等のことをクラス(Hoge)ではなく、関数で行うとメモリリークは起きません
152 名前:デフォルトの名無しさん mailto:sage [2010/10/07(木) 16:17:32 ] Macのgccっていろいろ変らしいのだけど boostはちゃんと動くの?
153 名前:デフォルトの名無しさん mailto:sage [2010/10/07(木) 16:30:03 ] Boost側が頑張ってるから大丈夫
154 名前:デフォルトの名無しさん mailto:sage [2010/10/13(水) 20:14:50 ] variantってwitch()で型を判断するのダサくないですか? なんかいい方法無いでしょうか
155 名前:デフォルトの名無しさん mailto:sage [2010/10/13(水) 20:19:55 ] Visitor使え。
156 名前:デフォルトの名無しさん mailto:sage [2010/10/13(水) 20:26:10 ] >>155 visitorとは何でしょうか?
157 名前:デフォルトの名無しさん mailto:sage [2010/10/13(水) 20:32:21 ] ググレカス www.kmonos.net/alang/boost/classes/variant.html ここ見てもわからなかったら氏ね。
158 名前:デフォルトの名無しさん mailto:sage [2010/10/13(水) 20:37:35 ] ∧∧ /⌒ヽ) もはようちゃん i三 U 〜三 | (/~∪ 三三 三三 三三
159 名前:デフォルトの名無しさん mailto:sage [2010/10/13(水) 20:56:27 ] ファンクションオブジェクトを型ごとにつくればいいのか。。。
160 名前:デフォルトの名無しさん mailto:sage [2010/10/14(木) 01:18:45 ] >>159 オブジェクトはひとつでいい。すべての型に対応するオーバーロードがあれば。 >>154 if (T* p = boost::get<T>(&v)) ... おすすめ。
161 名前:デフォルトの名無しさん mailto:sage [2010/10/14(木) 20:18:36 ] autoでどうにかならないの?
162 名前:デフォルトの名無しさん mailto:sage [2010/10/15(金) 01:18:06 ] >>161 何が?
163 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 17:09:18 ] spirit::classicのコードをメンテというか改造使用と思ってるんだけどこれを期にspirit v2に移るべきでしょうか? 機能追加するので全面書き直しOKという前提で。
164 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 17:33:40 ] V2ならパース結果をコンテナやタプルに格納する処理を超簡単に書ける。 Boost.Fusionとの連携もすごい。Boost.Qi も出始めと比べて安定して枯れてきてる。 Classic のコードを保守しなくていいなら乗り換えない理由はないと思う。
165 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 18:28:44 ] コンパイラの負担が阿呆ほど増えるけどな
166 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 18:32:06 ] Spirit 使ってる時点で既にコンパイル時間はboostしてるだろ。
167 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 18:37:36 ] >>164-165 わかった。乗り換えてみるよ。
168 名前:デフォルトの名無しさん mailto:sage [2010/10/28(木) 15:41:30 ] sourceforgeのファイル一覧がひどいことになってるな 何のベンチマークだよこれ
169 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:12:33 ] boostを使用してだいぶ開発が進んだ頃に以下のエラーが出るようになりました 1>d:\sdk\boost_1_44_0\boost\type_traits\detail\is_mem_fun_pointer_tester.hpp(1526): error C2061: 構文エラー : 識別子 'clasw' 1>d:\sdk\boost_1_44_0\boost\type_traits\detail\is_mem_fun_pointer_tester.hpp(1527): error C2365: 'boost::type_traits::is_mem_fun_pointer_tester' : 再定義; 以前の定義は '関数' でした。 1>d:\sdk\boost_1_44_0\boost\type_traits\detail\is_mem_fun_pointer_tester.hpp(1527): error C2998: 'boost::type_traits::yes_type boost::type_traits::is_mem_fun_pointer_tester' : テンプレート定義にはなれません。 リビルドしてもこのエラーが出ることもあるしでないこともあるし、出現位置もバラバラで全く原因がわかりません 上記ファイルを使用する機能や上記エラー内容が分かれば教えてください
170 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:31:52 ] claswこれなんだ
171 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:33:44 ] わからないです。そんなもの見つからないし、そんなコードがあったら毎回エラーになるはずですよね・・・
172 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:34:51 ] とりあえず boost/function.hpp 使ってるところをすべてコメントアウトしたら出なくなったかも
173 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:37:17 ] と思ったら21回目のリビルドででました・・・
174 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:39:43 ] ちなみにIDEはVisualStudio2010Express x86ターゲット、デバッグビルド CPUはCore2Duoです
175 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:42:54 ] とりあえずエラーになってしまったオブジェクトも再ビルドすれば普通に通るので、何度がビルドすれば実行ファイルはできます コンパイラのバグかな?
176 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:55:44 ] ディスクが壊れてるんじゃね?
177 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 17:10:56 ] >>174 VC10なら使える人が多いんだから、エラーの出るソース晒してみそ ビルドのやり直しで通るなら、簡易ビルドをOFFにしてみるてがある。
178 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 20:35:59 ] 念のためだけど、Debug フォルダ全消しはしてみたよね?
179 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 22:18:47 ] >>176-178 レスありがとうございます boostのディレクトリを丸々コピー→古いのを削除→新しいのをリネームしたら出なくなったっぽいです。 ディスク障害だったのかな・・・しばらく様子を見てみます
180 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 15:21:45 ] 昔はc++を喜んで使ってたが lisp使うようになってからは lispでデバックしてc++は自動生成するだけだわ それにしてもc++の案件多いなあ
181 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 15:25:02 ] >>180 最近のlispはC++にコンバートできるんだ? Cへのコンバートなら良く見かけるんだけど・・・。 あとSchemeで実用レベルのCorC++コンバーターとかあります?