過去スレ
Part 9http://toro.2ch.net/test/read.cgi/tech/1275014987/
Part 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/
探検
Boost総合スレ part10
2012/09/14(金) 17:34:29.08
135デフォルトの名無しさん
2013/09/11(水) 19:37:59.70 optional<T&>って気になってたんだけど、optional_ref<T>として
使えるようにするかもしれない、みたいな話は結局どうなったんだろ?
使えるようにするかもしれない、みたいな話は結局どうなったんだろ?
136デフォルトの名無しさん
2013/09/14(土) 06:53:18.13 これをやるには先ずこれを済ませとかないと……でもこれはこれとこれとこれが済んでないと……
えーとつまり発端は……なんて連鎖を取り扱うライブラリありますか?
Makeみたいな
えーとつまり発端は……なんて連鎖を取り扱うライブラリありますか?
Makeみたいな
137デフォルトの名無しさん
2013/09/14(土) 08:16:39.93 普通にプログラム書けばそんな感じになるだろ
138デフォルトの名無しさん
2013/09/14(土) 09:51:46.81 trac
139デフォルトの名無しさん
2013/09/20(金) 15:51:26.84 >>137
Systemdみたいに並列にやりたいのでは
Systemdみたいに並列にやりたいのでは
140136
2013/09/21(土) 03:59:04.31 なんでもないです忘れてください捜さないでください
141デフォルトの名無しさん
2013/09/21(土) 12:11:45.90 >>136
state machineやcontextで出来ないかな?
state machineやcontextで出来ないかな?
142デフォルトの名無しさん
2013/10/04(金) 20:13:47.29 話題は?
143デフォルトの名無しさん
2013/10/15(火) 03:55:17.76 管理者権限のPCでも
自分のホームディレクトリの下にLinuxのパッケージシステム作るのあったよね
apt-getとかemerge とかが動くやつ
あれだと自動で依存関係を解決してくれるね
自分のホームディレクトリの下にLinuxのパッケージシステム作るのあったよね
apt-getとかemerge とかが動くやつ
あれだと自動で依存関係を解決してくれるね
144デフォルトの名無しさん
2013/10/17(木) 00:44:09.84145デフォルトの名無しさん
2013/10/17(木) 09:04:48.53 cygwin
msys
mingw
bow
colinux
andlinux
msys
mingw
bow
colinux
andlinux
146デフォルトの名無しさん
2013/10/28(月) 01:08:25.00 boost::iostreamsの自作フィルタとか需要あるのかね。
147デフォルトの名無しさん
2014/01/04(土) 22:34:52.14 使ってますかぁ
148デフォルトの名無しさん
2014/01/16(木) 22:33:38.03 最近、githubに以降したんだけれど、
今のところ公式から落としてくるのには、
各リポジトリのすべてをクローンしなきゃいけないの?
ライブラリ単位でリポジトリが分散したせいでやりづらくなっているんだが
今のところ公式から落としてくるのには、
各リポジトリのすべてをクローンしなきゃいけないの?
ライブラリ単位でリポジトリが分散したせいでやりづらくなっているんだが
149デフォルトの名無しさん
2014/01/16(木) 22:38:47.63 HEADだけ取れるだろ
150デフォルトの名無しさん
2014/01/17(金) 00:47:20.36 >>148
https://svn.boost.org/trac/boost/wiki/TryModBoost#InstallingModularBoost
> git clone --recursive git@github.com:boostorg/boost.git modular-boost >clone.log
> ...
https://svn.boost.org/trac/boost/wiki/TryModBoost#InstallingModularBoost
> git clone --recursive git@github.com:boostorg/boost.git modular-boost >clone.log
> ...
151デフォルトの名無しさん
2014/01/17(金) 08:45:45.19 先生!
大変です。size_t が居なくなりました。
gcc を 4.5 -> 4.8 にアップグレードしたところ、size_t が脱走しました。
いや、boost のインストール時なのかもしらん。
オーソドックスな対策と
その原因に関する解説ページを教えていただけませんでしょうか?
現在必要なソースのヘッダごとに
#ifndef _SIZE_T
#define _SIZE_T
typedef __SIZE_TYPE__ size_t;
#endif
と対策していますが、どー考えても対策としてはタコです。
boost/pending/cstddef.hpp も怪しいが、単純なgccの問題かもとも思っています。
宜しくお願いいたします。
大変です。size_t が居なくなりました。
gcc を 4.5 -> 4.8 にアップグレードしたところ、size_t が脱走しました。
いや、boost のインストール時なのかもしらん。
オーソドックスな対策と
その原因に関する解説ページを教えていただけませんでしょうか?
現在必要なソースのヘッダごとに
#ifndef _SIZE_T
#define _SIZE_T
typedef __SIZE_TYPE__ size_t;
#endif
と対策していますが、どー考えても対策としてはタコです。
boost/pending/cstddef.hpp も怪しいが、単純なgccの問題かもとも思っています。
宜しくお願いいたします。
152デフォルトの名無しさん
2014/01/17(金) 08:49:56.58 std::size_t
153デフォルトの名無しさん
2014/01/17(金) 09:32:38.42154デフォルトの名無しさん
2014/01/17(金) 09:41:52.32 #include <cstddef>
155デフォルトの名無しさん
2014/01/18(土) 03:22:07.38156片山博文MZ無能 ◆T6xkBnTXz7B0
2014/02/23(日) 00:53:10.90 大変便利であるからしてage。
157片山博文MZ無能 ◆T6xkBnTXz7B0
2014/02/23(日) 01:10:11.61 【Boostのここがスゴい1】
ほとんどのライブラリがリンクなしで(#includeするだけで)使える。※但しインスコが必要
【Boostのここがスゴい2】
C++11以前の古いコンパイラでもboost::shared_ptrなどのスマートポインタが使える。
ほとんどのライブラリがリンクなしで(#includeするだけで)使える。※但しインスコが必要
【Boostのここがスゴい2】
C++11以前の古いコンパイラでもboost::shared_ptrなどのスマートポインタが使える。
158片山博文MZ無能 ◆T6xkBnTXz7B0
2014/02/23(日) 01:16:42.42 【Boostのここがスゴい3】
Boost.multiprecisionで手軽に多倍長演算(非常に桁数の大きい演算)ができる。
【Boostのここがスゴい4】
古いコンパイラでもマルチプラットフォームでマルチスレッド対応が可能。
Boost.multiprecisionで手軽に多倍長演算(非常に桁数の大きい演算)ができる。
【Boostのここがスゴい4】
古いコンパイラでもマルチプラットフォームでマルチスレッド対応が可能。
159片山博文MZ無能 ◆T6xkBnTXz7B0
2014/02/23(日) 01:27:59.03 ……こんな感じで宣伝頼む
160デフォルトの名無しさん
2014/02/23(日) 02:04:51.86 【Boostのここがヒドい1】
バイナリがでかくなる
【Boostのここがヒドい2】
コンパイルエラーがいみふ
バイナリがでかくなる
【Boostのここがヒドい2】
コンパイルエラーがいみふ
161デフォルトの名無しさん
2014/02/23(日) 02:33:44.40 awkは、2^200を計算できないのですが、
bcコマンドは出来ます
Pythonは、2の1万乗、つまり3千桁も計算できる
Rubyは、2の千乗、つまり300桁も計算できる
bcコマンドは出来ます
Pythonは、2の1万乗、つまり3千桁も計算できる
Rubyは、2の千乗、つまり300桁も計算できる
162デフォルトの名無しさん
2014/02/23(日) 03:05:21.75 【Boostのここがヒドい3】
boostインストールしたらboostフォルダだけで2GB超える
boostインストールしたらboostフォルダだけで2GB超える
163デフォルトの名無しさん
2014/02/23(日) 05:02:10.89 必要なライブラリだけビルドしろよ
164片山博文MZ無能 ◆T6xkBnTXz7B0
2014/02/23(日) 12:29:25.59 MiniBoost
https://dl.dropboxusercontent.com/u/72753355/miniboost_setup.exe
Boostを49.5 MBに圧縮!!! USBメモリに保存できる!!!
https://dl.dropboxusercontent.com/u/72753355/miniboost_setup.exe
Boostを49.5 MBに圧縮!!! USBメモリに保存できる!!!
165デフォルトの名無しさん
2014/02/23(日) 12:53:27.18 >>162
ネタだと言ってくれ・・・
ネタだと言ってくれ・・・
166デフォルトの名無しさん
2014/02/23(日) 13:09:57.18 Boostつかうと一気に実行ファイルサイズが10倍に?!
167デフォルトの名無しさん
2014/02/23(日) 15:22:51.97168デフォルトの名無しさん
2014/02/23(日) 15:31:39.81169デフォルトの名無しさん
2014/02/23(日) 15:47:45.36 1.56.0まだかよ
170デフォルトの名無しさん
2014/02/23(日) 15:49:02.43 >>164
ウィルス?
ウィルス?
171デフォルトの名無しさん
2014/02/24(月) 02:02:22.57 >>168
それを言うならboost汚染ではあるまいか…
それを言うならboost汚染ではあるまいか…
172デフォルトの名無しさん
2014/02/24(月) 10:55:40.25 contaminated population
173デフォルトの名無しさん
2014/02/25(火) 02:05:03.94 >>163
車輪の再発明を避けることを徹底すると必要なライブラリがどんどん膨らんでいくよ
便利そうだからと安易にライブラリに追加してると、便利そうだからと安易に利用することになって
依存関係が発生してしまう
車輪の再発明を避けることを徹底すると必要なライブラリがどんどん膨らんでいくよ
便利そうだからと安易にライブラリに追加してると、便利そうだからと安易に利用することになって
依存関係が発生してしまう
174デフォルトの名無しさん
2014/02/25(火) 02:27:52.42 そんなことは必要なライブラリが膨らんでから考える
いちいちzlibなりboost::serializeなり自作してられっか
いちいちzlibなりboost::serializeなり自作してられっか
175デフォルトの名無しさん
2014/02/25(火) 07:43:30.82176デフォルトの名無しさん
2014/02/25(火) 08:06:45.55 ttps://sites.google.com/site/boostjp/tips/build_link
依存がどうしたって?
依存がどうしたって?
177片山博文MZジェバンニ ◆T6xkBnTXz7B0
2014/03/10(月) 14:38:05.36 VC11だと、bootstrappingが必要か。。。
時間がかかりそうだな。。。
時間がかかりそうだな。。。
178デフォルトの名無しさん
2014/05/06(火) 15:21:54.64ID:DynE4XBA179デフォルトの名無しさん
2014/06/08(日) 10:51:05.92ID:j31/DBL2 数年ぶりに戻って来たんだけど、今はLets Boostみたいな日本語で解説してるサイトは無いの?
付属のdocだと情報量が多すぎて疲れる・・・
付属のdocだと情報量が多すぎて疲れる・・・
180デフォルトの名無しさん
2014/06/08(日) 13:13:45.71ID:1X5GviKQ 頑張って英語読もう
コードもついてるしそんな難しくないだろう
コードもついてるしそんな難しくないだろう
181デフォルトの名無しさん
2014/06/08(日) 13:29:42.85ID:AzMImLSv boostなくても標準C++で間に合うようになって来てる
182デフォルトの名無しさん
2014/06/13(金) 14:51:21.47ID:UdQiVjj6 逆にまだboostじゃないとダメな機能ってどんなのがあるんだろう?
183デフォルトの名無しさん
2014/06/13(金) 15:05:29.84ID:LHr3GtlM property_treeとかserializeとか
184デフォルトの名無しさん
2014/06/13(金) 16:38:51.85ID:ooUx6NQl format ってどうなった?
185デフォルトの名無しさん
2014/06/20(金) 01:10:34.79ID:Lg1rjNq/ boost使い始めたのはgregorianのためだったっけな一番最初は
その後scoped_arrayとかも使い始めた
その後scoped_arrayとかも使い始めた
186デフォルトの名無しさん
2014/06/22(日) 22:12:29.06ID:16+BG254 怒らずにマジレスしてほしいんだけど progress_display に代わるものってあるの?
187デフォルトの名無しさん
2014/06/24(火) 02:24:02.69ID:tub1q0dy stdoutでいいんじゃね?
188デフォルトの名無しさん
2014/08/08(金) 10:09:29.41ID:bvhG3beM Version 1.56.0
August 7th, 2014 16:08 GMT
August 7th, 2014 16:08 GMT
189デフォルトの名無しさん
2014/08/11(月) 14:29:54.99ID:jlzj25iu Boost初心者です。
http://qiita.com/softgate/items/75f123f01ccdee6d36d0
を参考に
boost 1_56_0
を以下のようにビルドしたのですが
b2 toolset=msvc threading=multi variant=debug,release link=static runtime-link=static address-model=32 --stagedir=stage/x86 -j 8
b2 toolset=msvc threading=multi variant=debug,release link=shared runtime-link=shared address-model=32 --stagedir=stage/x86 -j 8
b2 toolset=msvc threading=multi variant=debug,release link=static runtime-link=static address-model=64 --stagedir=stage/x64 -j 8
b2 toolset=msvc threading=multi variant=debug,release link=shared runtime-link=shared address-model=64 --stagedir=stage/x64 -j 8
このBoostを使ったVS2013プロジェクトで
error LNK1104: ファイル 'libboost_thread-vc120-mt-1_56.lib' を開くことができません。
が出て解消できません。thread関係は、以下のファイルがあります。
stage\x86\lib\libboost_thread-vc120-mt-s-1_56.lib
stage\x86\lib\libboost_thread-vc120-mt-sgd-1_56.lib
stage\x64\lib\libboost_thread-vc120-mt-s-1_56.lib
stage\x64\lib\libboost_thread-vc120-mt-sgd-1_56.lib
エラーメッセージで指摘されているファイル
libboost_thread-vc120-mt-1_56.lib
もビルドするには、どうすればよいでしょうか?
http://qiita.com/softgate/items/75f123f01ccdee6d36d0
を参考に
boost 1_56_0
を以下のようにビルドしたのですが
b2 toolset=msvc threading=multi variant=debug,release link=static runtime-link=static address-model=32 --stagedir=stage/x86 -j 8
b2 toolset=msvc threading=multi variant=debug,release link=shared runtime-link=shared address-model=32 --stagedir=stage/x86 -j 8
b2 toolset=msvc threading=multi variant=debug,release link=static runtime-link=static address-model=64 --stagedir=stage/x64 -j 8
b2 toolset=msvc threading=multi variant=debug,release link=shared runtime-link=shared address-model=64 --stagedir=stage/x64 -j 8
このBoostを使ったVS2013プロジェクトで
error LNK1104: ファイル 'libboost_thread-vc120-mt-1_56.lib' を開くことができません。
が出て解消できません。thread関係は、以下のファイルがあります。
stage\x86\lib\libboost_thread-vc120-mt-s-1_56.lib
stage\x86\lib\libboost_thread-vc120-mt-sgd-1_56.lib
stage\x64\lib\libboost_thread-vc120-mt-s-1_56.lib
stage\x64\lib\libboost_thread-vc120-mt-sgd-1_56.lib
エラーメッセージで指摘されているファイル
libboost_thread-vc120-mt-1_56.lib
もビルドするには、どうすればよいでしょうか?
190デフォルトの名無しさん
2014/08/12(火) 01:45:55.26ID:O5xDEFJj あてずっぽだけどmt-sってlink=staticなb2の生成物だと思うから
link=sharedのときの生成物をよく探せばいいんでないの
link=sharedのときの生成物をよく探せばいいんでないの
191デフォルトの名無しさん
2014/08/12(火) 02:15:08.53ID:oYrFzOtb link=static runtime-link=shared
がないからじゃね
がないからじゃね
192デフォルトの名無しさん
2014/08/12(火) 12:56:31.79ID:oLoknUBV >>190,191
レス有難うございました。
その通りでした。
link=static runtime-link=static
link=shared runtime-link=shared
以外に、
link=static runtime-link=shared
link=shared runtime-link=static
もビルドしたら解決しました。
レス有難うございました。
その通りでした。
link=static runtime-link=static
link=shared runtime-link=shared
以外に、
link=static runtime-link=shared
link=shared runtime-link=static
もビルドしたら解決しました。
193デフォルトの名無しさん
2014/08/13(水) 11:16:20.84ID:aA3WCwQl copy して rename だけで良かったんじゃないかという気はする
194デフォルトの名無しさん
2014/08/16(土) 00:19:18.57ID:datmhcQU それじゃだめなんよ
libcとdll混在でえらいことなる
コンパイラオプションでstatic版、dll版どっちリンクするか決定してるから
libcとdll混在でえらいことなる
コンパイラオプションでstatic版、dll版どっちリンクするか決定してるから
195デフォルトの名無しさん
2014/08/22(金) 20:53:28.55ID:GZiwALqE ええっと、WindowsのDLLの仕様上、
link=sharedとruntime-link=staticの組み合わせは基本マズイはず。
.exe側と .dllが 別々に __FILE__ 構造体を保持したりして、
それを狙っている場合はいいが知らずにstatic変数のポインタを
やり取りするとクラッシュすると聞いた。
その逆も同様だと思った。
link=sharedとruntime-link=staticの組み合わせは基本マズイはず。
.exe側と .dllが 別々に __FILE__ 構造体を保持したりして、
それを狙っている場合はいいが知らずにstatic変数のポインタを
やり取りするとクラッシュすると聞いた。
その逆も同様だと思った。
196デフォルトの名無しさん
2014/08/23(土) 02:33:52.06ID:830xsgTR テンプレの関連書籍買おうと思うんだけど
内容はどんな感じなの?
Boostのホームページに書いてる以上のこと書いてる?
あとテンプレ貼られてから2年経つけど2年の間に新しく関連書籍出た?
内容はどんな感じなの?
Boostのホームページに書いてる以上のこと書いてる?
あとテンプレ貼られてから2年経つけど2年の間に新しく関連書籍出た?
197デフォルトの名無しさん
2014/08/23(土) 04:37:08.56ID:ZWPa2xFI198デフォルトの名無しさん
2014/08/24(日) 01:03:29.49ID:z6SsqQq7 >>195,197
憶測で語るのはそこまで。不具合が実在するなら公式tracにバグ報告して貢献したほうがいい。
憶測で語るのはそこまで。不具合が実在するなら公式tracにバグ報告して貢献したほうがいい。
199デフォルトの名無しさん
2014/08/24(日) 01:06:01.45ID:dSaHZUjz 不具合というか仕様だろ
知らんと嵌るが
知らんと嵌るが
200デフォルトの名無しさん
2014/08/24(日) 01:57:11.06ID:z6SsqQq7201デフォルトの名無しさん
2014/08/24(日) 17:02:34.37ID:zFKb4A2a いや、exe側のリンク方法を変えてもポインタを渡したらアウト、対処できない。
exeの作成者側が仕様を理解していれば、それで動作させることも可能だが、
一般的にそんな用途はない。
ライブラリのバージョンの特殊なテストとか普通にはない状況。
exeの作成者側が仕様を理解していれば、それで動作させることも可能だが、
一般的にそんな用途はない。
ライブラリのバージョンの特殊なテストとか普通にはない状況。
202デフォルトの名無しさん
2014/08/24(日) 17:12:05.16ID:mYuQxuS2 結局>>193はやっちゃだめってこと
203デフォルトの名無しさん
2014/08/24(日) 21:50:12.26ID:zFKb4A2a ついでに
逆にlink=staticとruntime-link=sharedの場合だと、
利用者が常に一つの.exeを作る場合には良いが
利用者も.dllを書いて、そちら側からもboostを利用する場合、
同様の問題が発生するので×
そうすると一般用途にビルドを行う場合
link=static runtime=static
link=shared runtime=shared
この2つのパターンだけ用意すれば良いと思われる
逆にlink=staticとruntime-link=sharedの場合だと、
利用者が常に一つの.exeを作る場合には良いが
利用者も.dllを書いて、そちら側からもboostを利用する場合、
同様の問題が発生するので×
そうすると一般用途にビルドを行う場合
link=static runtime=static
link=shared runtime=shared
この2つのパターンだけ用意すれば良いと思われる
204デフォルトの名無しさん
2014/08/25(月) 18:17:09.07ID:K+Y1EV40 (´-`).oO (なんでboostとC標準のリンクオプションがわざわざ別々になってると思う?)
205デフォルトの名無しさん
2014/08/25(月) 18:52:52.89ID:34Z9Wbr7 正直link=とruntime-link=のそれぞれの意味がわかってないけど、
とりあえずlink=staticのしか使ったことない。
runtime-linkのほうはMSVCのコード生成設定に合わせるけど。
とりあえずlink=staticのしか使ったことない。
runtime-linkのほうはMSVCのコード生成設定に合わせるけど。
206デフォルトの名無しさん
2014/08/25(月) 19:50:29.57ID:TLgrT9xd >>204
解説よろしくお願いします。
解説よろしくお願いします。
207デフォルトの名無しさん
2014/08/25(月) 20:13:31.67ID:S+r49QAC Express版の2010だとEula.txtが付属してないので、
/MDだと著作権的にグレーになってしまう。
/MTでコンパイルしないと公開できないw
/MDだと著作権的にグレーになってしまう。
/MTでコンパイルしないと公開できないw
208デフォルトの名無しさん
2014/08/25(月) 20:33:49.53ID:34Z9Wbr7 ていうかMSVCで普通にプロジェクト作って普通にインクルード&ビルドしたら
link=staticで作成されたファイル名のほうしか読みにいかなくない?
マルチスレッドDLLでもマルチスレッドでもdebugでもreleaseでも。
link=staticで作成されたファイル名のほうしか読みにいかなくない?
マルチスレッドDLLでもマルチスレッドでもdebugでもreleaseでも。
209デフォルトの名無しさん
2014/08/25(月) 20:35:42.94ID:34Z9Wbr7 208はexeを作ったときの話。dllについては知らない。
210デフォルトの名無しさん
2014/08/25(月) 21:07:00.41ID:S+r49QAC BOOST_ALL_DYN_LINKを定義しないと, libboost_の方にリンクする。
定義するとboost_の方へリンクしてDLLを使用するようになる。
定義するとboost_の方へリンクしてDLLを使用するようになる。
212デフォルトの名無しさん
2014/08/27(水) 03:36:26.18ID:6l9mfgq+ #pragma comment(linker, "/NODEFAULTLIB:libboost_〜.lib")
ってやって必要なcppだけ本体と一緒にコンパイルリンクするのが一番楽
ってやって必要なcppだけ本体と一緒にコンパイルリンクするのが一番楽
213デフォルトの名無しさん
2014/10/06(月) 22:24:43.15ID:tIlHofLk ネットワーク関係はpocoと比べてどうなの?
214デフォルトの名無しさん
2014/10/26(日) 12:18:21.65ID:/US9w/Z3 Boost spirit qiの、grammarに設定するinherited attributeについて
どうしても分からない点があるので、質問します。
* ソースコードとエラーメッセージ全文 *
http://pastebin.com/FaNQKEh1
コンパイラはVS2013 Pro Update3 の cl.exe (バージョン18.00.30723)
boostのパッケージはバージョン1.55(7zip版)です。
inherited attributeとして自作の構造体を使用したいと思い
qi::grammarのSignatureの引数部に自作の構造体を設定したところ
「その構造体にresultの定義がない」というエラーメッセージが起きコンパイルが失敗しました。
構造体の代わりにstd::string(resultというメンバは持っていないはず)を使用すると
問題なくコンパイルが通るので、inherited attributeに設定できる型に何か制約があるようにも思えるのですが
boost.orgのドキュメントからはそれらしき記述が見つけられず、エラーメッセージを見ても私にはわかりませんでした。
海外含めて関連する情報がないか探したのですが(boost spirit qi inherited attribute requirement 等で検索)
解決策を見つけられませんでした。
inherited attributeに使用できる型の制約条件や、類似のコンパイルエラーとその対処方法をご存じであれば
教えていただきたく思います。
どうしても分からない点があるので、質問します。
* ソースコードとエラーメッセージ全文 *
http://pastebin.com/FaNQKEh1
コンパイラはVS2013 Pro Update3 の cl.exe (バージョン18.00.30723)
boostのパッケージはバージョン1.55(7zip版)です。
inherited attributeとして自作の構造体を使用したいと思い
qi::grammarのSignatureの引数部に自作の構造体を設定したところ
「その構造体にresultの定義がない」というエラーメッセージが起きコンパイルが失敗しました。
構造体の代わりにstd::string(resultというメンバは持っていないはず)を使用すると
問題なくコンパイルが通るので、inherited attributeに設定できる型に何か制約があるようにも思えるのですが
boost.orgのドキュメントからはそれらしき記述が見つけられず、エラーメッセージを見ても私にはわかりませんでした。
海外含めて関連する情報がないか探したのですが(boost spirit qi inherited attribute requirement 等で検索)
解決策を見つけられませんでした。
inherited attributeに使用できる型の制約条件や、類似のコンパイルエラーとその対処方法をご存じであれば
教えていただきたく思います。
215デフォルトの名無しさん
2014/10/26(日) 15:46:28.32ID:r2skli7n VS2013のC++でBoost1.56を使っているのですが、どんなプロジェクトを作ってもビルドすると
コンパイルされたクラスの テンプレート のインスタンス化
'std::streamsize boost::iostreams::detail::copy_operation<Source,Sink>::operator ()(void)'
の参照を確認してください
みたいか警告がいつも数十行出るんですが、「参照の確認」とは何をどうすれば良いのでしょうか?
コンパイルされたクラスの テンプレート のインスタンス化
'std::streamsize boost::iostreams::detail::copy_operation<Source,Sink>::operator ()(void)'
の参照を確認してください
みたいか警告がいつも数十行出るんですが、「参照の確認」とは何をどうすれば良いのでしょうか?
216デフォルトの名無しさん
2014/10/27(月) 22:32:16.46ID:DoYepSGR >>214
エラー以前になんかInherited attributesの使い方と使いどころを基本から間違っていないか?
ここの例を見る限り ttp://www.boost.org/doc/libs/1_56_0/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html
正規表現での後方参照みたいに一つのルール内でサブルールにマッチした結果によって
挙動を変えるルールを記述するときに使うものじゃないか?
エラー以前になんかInherited attributesの使い方と使いどころを基本から間違っていないか?
ここの例を見る限り ttp://www.boost.org/doc/libs/1_56_0/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html
正規表現での後方参照みたいに一つのルール内でサブルールにマッチした結果によって
挙動を変えるルールを記述するときに使うものじゃないか?
217デフォルトの名無しさん
2014/10/28(火) 00:29:16.37ID:uWcH6Wmu >>216
レスありがとうございます。
なるほど、想定されている使い方はこういったケースなのでしょうか。
だとしたらそもそも今回の私がやろうとしていたことには不適切だったかもしれませんね。
(パースするごとに、inherited attributeに設定したインスタンスに情報を反映させたかった)
余計なことは考えず、普通に対応するようにします。
コードについてですが、この例を参考にしてすこし試したところ
要するにboost::phoenixなオブジェクトであれば渡せるようで
grammarのoperator()に渡す引数をphoenix::val(...)やref(...)で包めば
コンパイルが通ることがわかりました。まだ動作確認はしていませんが・・・
ともあれ、ありがとうございました。
レスありがとうございます。
なるほど、想定されている使い方はこういったケースなのでしょうか。
だとしたらそもそも今回の私がやろうとしていたことには不適切だったかもしれませんね。
(パースするごとに、inherited attributeに設定したインスタンスに情報を反映させたかった)
余計なことは考えず、普通に対応するようにします。
コードについてですが、この例を参考にしてすこし試したところ
要するにboost::phoenixなオブジェクトであれば渡せるようで
grammarのoperator()に渡す引数をphoenix::val(...)やref(...)で包めば
コンパイルが通ることがわかりました。まだ動作確認はしていませんが・・・
ともあれ、ありがとうございました。
218デフォルトの名無しさん
2014/10/30(木) 00:07:58.69ID: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 のほうで条件を満たすことができるのでエラーにはならない
ということだと思う
いまさらだがわかった範囲で言っておくと
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 のほうで条件を満たすことができるのでエラーにはならない
ということだと思う
219デフォルトの名無しさん
2014/10/30(木) 11:39:19.54ID:ImhG7AIb >>218
詳しく調べていただきありがとうございます。
「immediate value」判定を行っている個所を確認して、std::stringが通った理由も納得できました。
というか、かなり制限がきつかったんですね・・・そりゃ通らないわけだ。
詳しく調べていただきありがとうございます。
「immediate value」判定を行っている個所を確認して、std::stringが通った理由も納得できました。
というか、かなり制限がきつかったんですね・・・そりゃ通らないわけだ。
220片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/11/01(土) 21:27:12.06ID:jtBHZTX6 property tree使ったら、XMLの入出力は楽勝や!
221デフォルトの名無しさん
2014/11/07(金) 00:16:46.51ID:HXLLL8gC 当然っちゃ当然なんだけど
boost::functionとstd::functionって実装違うんだね・・・
boost::lambdaで作ったファンクタが、前者だと格納できて
後者だと格納できずにコンパイルエラーになるケースに遭遇したよ
boost::functionとstd::functionって実装違うんだね・・・
boost::lambdaで作ったファンクタが、前者だと格納できて
後者だと格納できずにコンパイルエラーになるケースに遭遇したよ
222デフォルトの名無しさん
2014/11/11(火) 09:50:08.64ID:Q0YP3r9c その違いはコンパイラの違いや、そのC++STLが対応するバージョンにもよるな
VC++2013のstd::unordered_mapのキーに素直にtuple指定できないからboost::unordered_map使ったりしてる
いずれ指定できるようになったらstdに戻す
VC++2013のstd::unordered_mapのキーに素直にtuple指定できないからboost::unordered_map使ったりしてる
いずれ指定できるようになったらstdに戻す
223デフォルトの名無しさん
2015/01/05(月) 15:35:07.20ID:eKet1BcH boost::unordered_mapのキーに生ポインタ入れるのはさすがにマズイよね?
224デフォルトの名無しさん
2015/01/05(月) 15:39:30.18ID:8wARtoFz 問題ない
225デフォルトの名無しさん
2015/01/05(月) 19:12:49.53ID:o8IVACxb 問題ないけどmapで扱わずメンバにすればと思った
226デフォルトの名無しさん
2015/01/05(月) 21:30:21.14ID:X1Ja4Fny valueにshared_ptr、keyにはその生ポインタっていうのは良く使ってるなぁ
227デフォルトの名無しさん
2015/01/06(火) 01:03:54.45ID:oPiR2ldc あ、特に問題はないのか。
何となくだけど、「生ポインタ入れたらヤバそう」って思い込んでたよ…
何となくだけど、「生ポインタ入れたらヤバそう」って思い込んでたよ…
228デフォルトの名無しさん
2015/01/06(火) 10:02:24.08ID:LjydeOaO ナマポ
229デフォルトの名無しさん
2015/01/06(火) 16:03:04.47ID:2r6Mr9Ml 目的によるわな。
キーとしては単なる整数だしな。
キーとしては単なる整数だしな。
230デフォルトの名無しさん
2015/01/07(水) 09:03:30.78ID:ZvIwm56v 生ポの開放時にキーも削除又は解放後は使用されないのなら特に問題無さそう
231デフォルトの名無しさん
2015/01/11(日) 09:45:08.68ID:9tA14JDu smart pointerのdeleterでキー削除すればいいと思うよ
232デフォルトの名無しさん
2015/01/21(水) 17:56:52.67ID:jsrBE0pL http://boost.cppll.jp/ の文字化け問題っていつ治るの?
毎回EUCに切り替えるのめんどくせーんだけど
毎回EUCに切り替えるのめんどくせーんだけど
233デフォルトの名無しさん
2015/01/21(水) 18:34:30.53ID:65s3laC/ 10年前から放置されたHPに文句言うなよww
234デフォルトの名無しさん
2015/01/22(木) 12:40:59.12ID:/jHS8Rgv 文字化けなおしたのが、githubにコピーされてるよ。
ttp://www.freeml.com/cppll/14009
ttp://boostjp.github.io/archive/boost_docs.html
ttp://www.freeml.com/cppll/14009
ttp://boostjp.github.io/archive/boost_docs.html
235デフォルトの名無しさん
2015/02/01(日) 22:32:38.38ID: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
のように出ています。
↓続く
ネット上にある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
のように出ています。
↓続く
レスを投稿する
ニュース
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 日本との局長級会談で ★2 [お断り★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★7 [ぐれ★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 ★3 [お断り★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 [おっさん友の会★]
- 「日本産水産物の市場などない」 中国外務省毛寧報道局長、日本に揺さぶり [蚤の市★]
- 【外交】元台湾総統・馬英九氏、高市首相発言に「台湾を危険にさらす」台湾海峡の問題は「両岸の中国人が自ら話し合うべき」★2 [1ゲットロボ★]
- 【悲報】そういや総理になる前に高市早苗は消費税減税するとか言ってた話どーなったの🥺 [616817505]
- 【実況】博衣こよりのえちえちフログロ学力テスト🧪★5
- エッヂ落ちた?
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- 【街の声】高市人気爆発!野党に怒りの声!! [237216734]
- 【ぺこ専🐰】なんG 兎田ぺこら実況スレ🏡【ホロライブ▶】
