Boost総合スレ part10 (385レス)
Boost総合スレ part10 http://mevius.5ch.net/test/read.cgi/tech/1347611669/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
217: デフォルトの名無しさん [sage] 2014/10/28(火) 00:29:16.37 ID:uWcH6Wmu >>216 レスありがとうございます。 なるほど、想定されている使い方はこういったケースなのでしょうか。 だとしたらそもそも今回の私がやろうとしていたことには不適切だったかもしれませんね。 (パースするごとに、inherited attributeに設定したインスタンスに情報を反映させたかった) 余計なことは考えず、普通に対応するようにします。 コードについてですが、この例を参考にしてすこし試したところ 要するにboost::phoenixなオブジェクトであれば渡せるようで grammarのoperator()に渡す引数をphoenix::val(...)やref(...)で包めば コンパイルが通ることがわかりました。まだ動作確認はしていませんが・・・ ともあれ、ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/217
218: デフォルトの名無しさん [sage] 2014/10/30(木) 00:07:58.69 ID:lLBGJ4gC >>214,217 いまさらだがわかった範囲で言っておくと Inherited attributes に対する条件には ttp://www.boost.org/doc/libs/1_56_0/libs/spirit/doc/html/spirit/qi/reference/basics.html の > Some parsers (e.g. primitives and non-terminals) may take in additional attributes. Such parsers take the form: > p(a1, a2,..., aN) > where p is a parser. Each of the arguments (a1 ... aN) can either be an immediate value, or a function, f, with signature: > T f(Unused, Context) > where T, the function's return value, is compatible with the argument type expected and Context is the parser's Context type > (The first argument is unused to make the Context the second argument. This is done for uniformity with Semantic Actions). があって その immediate value の判定は boost::is_scalar か boost::spirit::traits::is_string のどちらかが真であるかで判定されてる。 けれど MyStruct はそのどちらにも該当しないので immediate value ではなくもちろん関数でもないから条件を満たさずエラーになる >>217でやったように phoenix の val, ref でラップすれば function, f のほうで条件を満たすことができるのでエラーにはならない ということだと思う http://mevius.5ch.net/test/read.cgi/tech/1347611669/218
219: デフォルトの名無しさん [sage] 2014/10/30(木) 11:39:19.54 ID:ImhG7AIb >>218 詳しく調べていただきありがとうございます。 「immediate value」判定を行っている個所を確認して、std::stringが通った理由も納得できました。 というか、かなり制限がきつかったんですね・・・そりゃ通らないわけだ。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/219
220: 片山博文MZ次期CEO ◆T6xkBnTXz7B0 [sage] 2014/11/01(土) 21:27:12.06 ID:jtBHZTX6 property tree使ったら、XMLの入出力は楽勝や! http://mevius.5ch.net/test/read.cgi/tech/1347611669/220
221: デフォルトの名無しさん [sage] 2014/11/07(金) 00:16:46.51 ID:HXLLL8gC 当然っちゃ当然なんだけど boost::functionとstd::functionって実装違うんだね・・・ boost::lambdaで作ったファンクタが、前者だと格納できて 後者だと格納できずにコンパイルエラーになるケースに遭遇したよ http://mevius.5ch.net/test/read.cgi/tech/1347611669/221
222: デフォルトの名無しさん [sage] 2014/11/11(火) 09:50:08.64 ID:Q0YP3r9c その違いはコンパイラの違いや、そのC++STLが対応するバージョンにもよるな VC++2013のstd::unordered_mapのキーに素直にtuple指定できないからboost::unordered_map使ったりしてる いずれ指定できるようになったらstdに戻す http://mevius.5ch.net/test/read.cgi/tech/1347611669/222
223: デフォルトの名無しさん [sage] 2015/01/05(月) 15:35:07.20 ID:eKet1BcH boost::unordered_mapのキーに生ポインタ入れるのはさすがにマズイよね? http://mevius.5ch.net/test/read.cgi/tech/1347611669/223
224: デフォルトの名無しさん [sage] 2015/01/05(月) 15:39:30.18 ID:8wARtoFz 問題ない http://mevius.5ch.net/test/read.cgi/tech/1347611669/224
225: デフォルトの名無しさん [sage] 2015/01/05(月) 19:12:49.53 ID:o8IVACxb 問題ないけどmapで扱わずメンバにすればと思った http://mevius.5ch.net/test/read.cgi/tech/1347611669/225
226: デフォルトの名無しさん [sage] 2015/01/05(月) 21:30:21.14 ID:X1Ja4Fny valueにshared_ptr、keyにはその生ポインタっていうのは良く使ってるなぁ http://mevius.5ch.net/test/read.cgi/tech/1347611669/226
227: デフォルトの名無しさん [sage] 2015/01/06(火) 01:03:54.45 ID:oPiR2ldc あ、特に問題はないのか。 何となくだけど、「生ポインタ入れたらヤバそう」って思い込んでたよ… http://mevius.5ch.net/test/read.cgi/tech/1347611669/227
228: デフォルトの名無しさん [sage] 2015/01/06(火) 10:02:24.08 ID:LjydeOaO ナマポ http://mevius.5ch.net/test/read.cgi/tech/1347611669/228
229: デフォルトの名無しさん [sage] 2015/01/06(火) 16:03:04.47 ID:2r6Mr9Ml 目的によるわな。 キーとしては単なる整数だしな。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/229
230: デフォルトの名無しさん [sage] 2015/01/07(水) 09:03:30.78 ID:ZvIwm56v 生ポの開放時にキーも削除又は解放後は使用されないのなら特に問題無さそう http://mevius.5ch.net/test/read.cgi/tech/1347611669/230
231: デフォルトの名無しさん [sage] 2015/01/11(日) 09:45:08.68 ID:9tA14JDu smart pointerのdeleterでキー削除すればいいと思うよ http://mevius.5ch.net/test/read.cgi/tech/1347611669/231
232: デフォルトの名無しさん [sage] 2015/01/21(水) 17:56:52.67 ID:jsrBE0pL http://boost.cppll.jp/ の文字化け問題っていつ治るの? 毎回EUCに切り替えるのめんどくせーんだけど http://mevius.5ch.net/test/read.cgi/tech/1347611669/232
233: デフォルトの名無しさん [sage] 2015/01/21(水) 18:34:30.53 ID:65s3laC/ 10年前から放置されたHPに文句言うなよww http://mevius.5ch.net/test/read.cgi/tech/1347611669/233
234: デフォルトの名無しさん [sage] 2015/01/22(木) 12:40:59.12 ID:/jHS8Rgv 文字化けなおしたのが、githubにコピーされてるよ。 ttp://www.freeml.com/cppll/14009 ttp://boostjp.github.io/archive/boost_docs.html http://mevius.5ch.net/test/read.cgi/tech/1347611669/234
235: デフォルトの名無しさん [] 2015/02/01(日) 22:32:38.38 ID:0ZgW1UY4 Windows8でVisual studio 2012にBoost1.57.0をビルドしようとしているのですが、失敗して困っています。 ネット上にあるboostのインストールのやり方を参考に、 bootstrap b2 toolset=msvc-11.0 --build-type=complete stage とビルドしたのですが、 ...failed updating 411 target... ...skipped 556 targets... ...updated 4241 targets... と出ます。エラーメッセージが大量に出るのですが、一部を見ると、 一番最初に link.jam no such file or directory というエラー出たり、 call "C:\Program Files (x86)\microsoft visual studio 11.0\vc\vcvarsall.bat x86>nul や ...failed msvc.archive bin.v2\libs\wave\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi\libboost_wave-vc110-mt-s-1_57.lib ...skipped <pstage\lib> libboost_wave-vc110-mt-s-1_57.lib for lack of <pbin.v2\libs\wave\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi> libboost_wave-vc-110-mt-s-1_57.lib のように出ています。 ↓続く http://mevius.5ch.net/test/read.cgi/tech/1347611669/235
236: デフォルトの名無しさん [sage] 2015/02/01(日) 22:33:18.14 ID:0ZgW1UY4 sage忘れすみません 実はこのエラーに対面する前、bootstrapを実行するときに 'cl'は内部コマンドまたは外部コマンド操作可能なプログラムまたはバッチファイルとして認識されていません というエラーが出まして、それを解決するために http://blog.remu.biz/2011/04/vs2010boost.html このサイトを参考にC:\Program Files(x86)\Microsoft Visual Studio 11.0\VC\bin\vcvars32.batに @SET VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 11.0 @SET VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC @SET FrameworkDir32=C:\Windows\Microsoft.NET\Framework @SET FrameworkVersion32=v4.0.30319 @SET Framework35Version=v3.5 の追加と ::@call :GetVSCommonToolsDir ::@if "%VS110COMNTOOLS%"=="" goto error_no_VS110COMNTOOLSDIR ::@call "%VS110COMNTOOLS%VCVarsQueryRegistry.bat" 32bit No64bit のコメントアウトの編集をしました。 もしかしたらそれが原因なのでしょうか?しかし元に戻してビルドを行ってみたのですがやはりビルドはできませんでした。 3日ほど悩んで答えが出なかったので皆さんの力を借りさせてください。お願いします。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/236
237: デフォルトの名無しさん [sage] 2015/02/02(月) 02:24:51.60 ID:E0RD/vzJ jamを別途インスコ http://mevius.5ch.net/test/read.cgi/tech/1347611669/237
238: デフォルトの名無しさん [sage] 2015/02/02(月) 02:58:34.63 ID:rg/FV5H5 >>235です。 すみません。初心者なものでjamというものが何を指しているのかわかりません。 bjam.exeならbootstrapの時にb2.exeと一緒に生成されています。 ぐぐるとboost-jamというものも見つかったのですが、これは古いバージョンのインストールに使うもの?のようでした。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/238
239: デフォルトの名無しさん [sage] 2015/02/02(月) 08:01:38.26 ID:GrIIWufd >>236 スタートメニューにあるVS2012 x86 Native Tools コマンド プロンプトから b2を呼んでるか? http://mevius.5ch.net/test/read.cgi/tech/1347611669/239
240: デフォルトの名無しさん [sage] 2015/02/02(月) 13:05:41.10 ID:trPfkB+8 >>239 VS2012開発者コマンドプロンプトから呼んでました。 改めてVS2012 x86 Native Tools コマンド プロンプトでビルドしてみたのですが、failed updatingと言われ、ビルドできませんでした。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/240
241: デフォルトの名無しさん [sage] 2015/02/02(月) 14:13:46.69 ID:trPfkB+8 >>235です。 どこでエラーメッセージが区切られているのかわからなかったため、読み飛ばしてしまってました。これが全文のはずです。 if exist "bin.v2\libs\random\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi\libboost_random-vc110-mt-s-1_57.lib" DEL "bin.v2\libs\random\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi\libboost_random-vc110-mt-s-1_57.lib" C:\Users\ユーザー名\AppData\Local\Temp\b2_msvc_11.0_vcvarsall_x86.cmd link /lib /NOLOGO /out:"bin.v2\libs\random\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi\libboost_random-vc110-mt-s-1_57.lib" @"bin.v2\libs\random\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi\libboost_random-vc110-mt-s-1_57.lib.rsp" ...failed msvc.archive bin.v2\libs\random\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi\libboost_random-vc110-mt-s-1_57.lib ...skipped <pstage\lib> libboost_random-vc110-mt-s-1_57.lib for lack of <pbin.v2\libs\random\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi> libboost_random-vc-110-mt-s-1_57.lib DEL "bin.v2\libs\random\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi\libboost_random-vc110-mt-s-1_57.lib"は確かにありました。 しかし、生成された日時を見るとこれはb2を実行した時に生成されたもののようです。 これはどうすればいいのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1347611669/241
242: デフォルトの名無しさん [sage] 2015/03/02(月) 00:54:18.08 ID:Hwlu4opX Visual Studioでboostを使う自作の Static.lib プロジェクト を作って、そのライブラリを使う自作の Console.exe プロジェクト でリンクして使う場合、Console.exeのプロジェクトの設定で リンカー 追加のライブラリディレクトリ: C:\.....\stage\Win32\lib とすればリンク出来て無事に実行できました。 このリンカーの設定は、Static.libを使うプロジェクトを作ると(今の場合Console.exe)、必ずしておく必要がありますか? できればStatic.lib側のほうの設定でboostのリンクもできるなら、Console.exe側でやる手間が省けるのですが。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/242
243: デフォルトの名無しさん [sage] 2015/03/03(火) 16:54:35.92 ID:AGpwHs5d boostのGILって標準ではBMPファイル読み込めないの? ぐぐって出て来たnew ioってのはまだboost申請中?みたいだけど、これ使っておけばいいのかな? http://mevius.5ch.net/test/read.cgi/tech/1347611669/243
244: デフォルトの名無しさん [sage] 2015/03/03(火) 21:11:19.83 ID:xvH8TFuD io_newでBMP読めたけど、色深度が読込むファイルと合ってないと例外発生するよ http://mevius.5ch.net/test/read.cgi/tech/1347611669/244
245: デフォルトの名無しさん [sage] 2015/03/03(火) 22:56:19.91 ID:AGpwHs5d >>244 結構面倒くさい仕様だな… 勝手にフォーマット変更とかしてくれると便利だけどさすがに贅沢か… http://mevius.5ch.net/test/read.cgi/tech/1347611669/245
246: デフォルトの名無しさん [sage] 2015/04/12(日) 00:28:36.73 ID:g4+PudFo boost.computeって正式に採用される予定あるの? http://mevius.5ch.net/test/read.cgi/tech/1347611669/246
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 139 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.017s