[過去ログ] Boost総合スレ part8 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
217: 2009/10/09(金) 18:03:19 AAS
FORTHが健闘してるなあ
218: 2009/10/10(土) 00:16:42 AAS
>209
まじかよ、と思ったらすでにアカウント登録済みだった。あれぇ?
219
(1): 2009/10/10(土) 17:49:13 AAS
BOOST1.41、コンパイルにめっちゃくちゃ時間がかかる・・・
1.40の倍以上はかかってる そんなに膨らんだっけ
220
(1): 2009/10/10(土) 17:57:32 AAS
外部リンク:booster.x0.to 落としたらですけど
要求されるlib名が1.41とか付いてるんですが。
これは最初から付いてるやつを格納出来ないんですか。
自分でリネームするんですか
221
(1): 2009/10/10(土) 19:39:18 AAS
更新しました。このところ、今迄あまり動きの無かったMathやuBLASといった数式関連に手が入っています。
亦、layout=taggedでリンクエラーが発生しておりましたのでlayout=versionedに戻しました。
尚、バージョン無しのファイルは必要無い様に思えますのでバージョン無しファイル生成バッチは同梱せずに暫く様子を見ます。
外部リンク:booster.x0.to
以下更新内容の一部
[Spirit]
Spirit: fixed a problem in Qi real_impl preventing to use an integral type as an attribute to a floating point parser.
Spirit: restructured customization points, added qi::attr_cast, added phoenix expression support for Karma attributes
Spirit: disabled Phoenix attributes for V2.1, adjusted tests
[Numeric]
see #3449: introduce new free functions to access matrix/vector properties (Incomplete)
[Date_time]
Refs #3470. Modified documentation for c_time functions to reflect the actual behavior.
[Unordered]
Make sure inserting from a range of types other than the value type is better tested.
[Fusion]
BOOST_FUSION_ADAPT_CLASS
[Math]
Fix erf calculation limits.
Added more performance tests along with comparisons to the DCDFLIB.
Change iteration limits to use get_epsilon().
Merge changes from Sandbox.
[Fusion]
Fusion: fixing mismatch in default parameter to nview
[Syatem]
System: minor code clean up
[Signals2]
Added support for tracking of objects owned by non-boost
shared_ptr. No documentation yet.
[Graph]
Fixed duplicate base class problem
Removed old parameters from test code
222: 2009/10/10(土) 19:42:21 AAS
亦、layout=taggedからlayout=versionedへの再変更に伴い、
how_to_build.txtとlibs_for_build_boost.rar内readme.txtも修正致しました。

>>193-194
VS2010のExpress Editionがリリースされた場合にそちらに移行する予定はありますが、
VS2005用をビルドする予定は今のところありません。
223: 2009/10/11(日) 00:54:21 AAS
>>219
そこまで重くなったかどうかわからんが
Warningの数が増えた 31万個(前は20万)
224: 2009/10/11(日) 01:37:08 AAS
警告は無効化しないとコンパイルに死ぬほど時間かかる
225: 220 2009/10/11(日) 01:59:23 AAS
>>221
libboost_regex-vc90-mt-s-1_41.lib
という存在してないものを要求されるようになりました。
前回のやつは、リネームしたら通ったのですが
今回はリネームするものがありません。
-s-付きがないです。
前のやつを残してほしかったです。消してしまいました。
226: 2009/10/11(日) 09:19:46 AAS
RegexはICUサポートが有効の場合、仕様上link=static, runtime-link=staticのライブラリは作成されません。
代替としてICUサポート無しでビルドしたlink=static, runtime-link=staticのRegexライブラリを追加してrarファイルを差し替えました。
今後のビルドでも同様の措置を採ります。
外部リンク:booster.x0.to
227: 2009/10/11(日) 12:10:58 AAS
VCの場合、runtime-link=staticは地雷だぞ。
228: 2009/10/11(日) 13:01:01 AAS
地雷とは? スタティックリンクってDLLなしでいいってやつでしょ。
229: 2009/10/11(日) 14:06:44 AAS
staticlinkだと、libをコンパイルした環境と、そのlibを使ったexeをコンパイルする
時の環境でruntimeが異なったときに、面倒なことになる。
ってやつのことかな。
230: 2009/10/11(日) 18:40:05 AAS
gccでも同じことが起こるのではないの?
231: 2009/10/11(日) 18:44:39 AAS
gccは存在自体が地雷。
232: 2009/10/11(日) 19:46:11 AAS
gccのすばらしさを分からないヤツは素人

って言ってみると何人つれるかな?
233: bcc5.5 2009/10/11(日) 20:50:30 AAS
呼んだ?
234: 2009/10/11(日) 20:53:10 AAS
おまえのためにおかしなワークアラウンド書くのはうんざりです
235
(2): やんやん ◆yanyan72E. 2009/10/11(日) 21:00:44 AAS
iccマンセー
236: 2009/10/11(日) 21:03:38 AAS
>>235
BOOST_AUTO使える?
237
(1): やんやん ◆yanyan72E. 2009/10/11(日) 21:31:33 AAS
>>235
BOOST_AUTOがどういうもんだかよく理解していないが、
外部リンク[html]:www.kmonos.net
ググって出てきたこのコードはコンパイルできてちゃんと動いたよ。
238: 2009/10/11(日) 21:47:38 AAS
Open WatcomとかDigital Marsのことも忘れないでください
後者はD言語やってりゃ知ってるだろうけど
239: 2009/10/11(日) 21:50:03 AAS
>>237
これがiccだとコンパイルできない。
iccでコンパイルするためにはBOOST_TYPEOF_REGISTER_TYPEで型を登録しなくっちゃならないんで面倒だなっと思ってたり。
c++0xオプション入れればautoが使えるからまあいいかとか思ってる。

#include <vector>
#include <boost/typeof/typeof.hpp>

int _tmain(int argc, _TCHAR* argv[])
{
std::vector<int> a;

BOOST_AUTO(k,a.begin());
return 0;
}
240: 2009/10/11(日) 22:33:57 AAS
C4819「ケケ…」
C4996「ケケケ…」
俺「何だきさまらあっ!?」

ぶっちゃけこの2つのエラーはBoostの中でdisableにするべき
241: 2009/10/12(月) 00:19:30 AAS
4819だけはプロジェクト全体で無効にしてるわ
242: 2009/10/12(月) 11:53:48 AAS
外部リンク:cpp-next.com
なんか気になる話が。
243
(1): 2009/10/13(火) 20:14:48 AAS
FUNC("hogehoge");
と書いたら
hogehoge
と展開されるマクロってどう書くの?
( " を取りたい)
244
(1): 2009/10/13(火) 20:21:23 AAS
FUNC(hogehoge) hogehoge=100
など。
245: 2009/10/13(火) 21:02:42 AAS
>>243
無理だろ。

>>244
何を言っているの?
246: 2009/10/13(火) 21:03:15 AAS
つけなければいい
247: 2009/10/14(水) 06:50:29 AAS
ぽかーん
248
(1): 2009/10/15(木) 19:16:47 AAS
これ直す方法ないですか。警告外し以外で。

warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。
データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
249
(1): 2009/10/15(木) 19:33:58 AAS
A. 日本語を勉強する
B. 母国語でメッセージを表示する開発環境を使う
C. より適切な進路・職業を考える

どれでもお好きな方法を
250: 2009/10/15(木) 19:43:44 AAS
>>249
彼にはCが良いと思うよ。
251: 2009/10/15(木) 20:32:58 AAS
>>248
ライブラリのヘッダーでたまに出るけど、保存しなければ良いんじゃないか?
252: 2009/10/15(木) 20:53:41 AAS
そもそも「どうすればいいか」は当該ヘッダに書いてあると思うんだが
253
(1): 2009/10/16(金) 01:41:33 AAS
コンパイラがEUCだと認識するのがだめな気がする。UTF8として読み込ませる方法があれぱいいけど
254: 2009/10/16(金) 02:27:31 AAS
何で警告外しちゃ駄目なんだろう

#pragma warning(push)
#pragma warning(disable:4819)
#include <hoge>
#pragma warning(pop)

これに何の不満があるんだ
255: 2009/10/16(金) 02:33:19 AAS
警告はヘッダが悪いのか、コンパイラが悪いのか。
256: 2009/10/16(金) 02:42:52 AAS
文字コードというものの仕様が悪い
257: 2009/10/16(金) 02:43:51 AAS
相性が悪い
258: 2009/10/16(金) 02:48:52 AAS
どのヘッダをどのコンパイラに突っ込んで警告が出てるかの情報も一切なしに
何が悪いのかなんて分かるわけが無い
259: 2009/10/16(金) 05:07:38 AAS
VC2008でboostやると沢山コードの警告出る。
260: 253 2009/10/16(金) 05:09:16 AAS
間違えた。コード932はSJISの拡張だった。
261: 2009/10/16(金) 05:15:21 AAS
英語版OSに英語版VC入れてコンパイルするか、
ソースを全部BOM付きUTF-8で保存し直せば警告は無くなるんじゃないかな
262: 2009/10/16(金) 05:25:45 AAS
boostproの1.38.0を入れたまましばらく追従してないけど、とりあえずVC9で
警告うるさめにして使ってるけど何も言われないな
263: 2009/10/16(金) 05:27:04 AAS
つーかどのソースで警告出るか、そのソースが実際どのコードで保存されてるか
くらいの情報は出せないのか
264
(1): 2009/10/16(金) 05:34:54 AA×

265: 2009/10/16(金) 10:41:37 AAS
>>264
大物が抜けてるぞ

JavaScript で検索した結果 1〜10件目 / 約2,830,000,000件 - 0.32秒
266: 2009/10/16(金) 11:14:16 AAS
プログラミング言語≠スクリプト
267: 2009/10/16(金) 11:29:37 AAS
CとC#って全然別物じゃねえかw
むしろJavaのほうが近いくらいなのに……

あとこれって 一般的な単語の basic や python って除外してるの?
できないと思うけど
268: 2009/10/16(金) 13:15:09 AAS
コピペねたに反応すんなぼけ
269: 2009/10/16(金) 14:49:44 AAS
文字コード警告の件だが、全世界で使うものなんだからせめてASCII限定にするとかできないのか
というわけでコードエラーを発生させている作者名(確か元凶そこだよね)が悪いということにしとく
270
(1): 2009/10/16(金) 18:53:34 AAS
更新しました。何となく1.41リリースが近い様な気がします。
外部リンク:booster.x0.to
以下更新内容の一部
[Spirit]
Spirit: fixing re-initialization problem for optional attributes
Spirit: improved fix for re-initialization of optionals, added tests
Spirit: added missing specialization to transform_attribute. Fixed qi::subrule to use this
Spirit: updating examples and tests
Spirit: removing remnants of safe_bool
[Fusion]
Spirit: improved fix for re-initialization of optionals, added tests
[Graph]
Fixed bugs in F-R layout
Fixed numlocalverts bug
Changed boost::get() call to get() to reflect new distributed property map namespace (boost::parallel)
[Serialization]
Address complaints for Inspect
fix memory leaks
Fix problem with multiple declaration of void_cast_register
[Exeption]
Added errinfo_nested_exception typedef. Fixed minor documentation error.
[Signals2]
Work around missing include in Boost.Variant headers
Include <functional for std::greater.
[Interprocess]
Fixes for 1.41
[Unordered]
Correct macro checks for initializer lists.
[Graph_parallel]
Added edges_are_sorted tag to distributed CSR graph ctor
since passing a sorted iterator range to the unsorted ctor
seems to produce a different graph than passing a sorted iterator range to the sorted ctor.
271: 2009/10/16(金) 19:30:21 AAS
うんこブー!(床に落ちて)スト!
272: 2009/10/16(金) 22:59:58 AAS
javaとか時代遅れだろw
273: 2009/10/17(土) 08:35:03 AAS
>270
なんとなくっていうか予定だとこう。
 10/18 1.41.0 Beta
 11/01 1.41.0 release
外部リンク[html]:www.boost.org
ML でもリリースノートの更新依頼が出てた。
現状だと Property Tree が新規、Multi-index、Spirit、Wave が更新になってる。
274: 2009/10/17(土) 08:44:43 AAS
有難うございます。
1.39-1.40間はかなり変更が激しかったですが、
1.40-1.41間はfixやドキュメント整備が中心の様ですね。
275: 2009/10/17(土) 15:27:53 AAS
Boost 勉強会
外部リンク:atnd.org
276
(1): 2009/10/17(土) 15:39:51 AAS
開場がGREEってだけで行く気無くす
それより秀和の本の1.40か1.41対応第3版出してくれ
2版がまだ余ってるらしいので出せるかどうか結構微妙ではあるが
277: 2009/10/17(土) 15:43:19 AAS
ああ、でもC++0xというかVC2010が出てからの方がいいか
あっちに結構吸収されたライブラリがあるから
278: 2009/10/18(日) 11:08:56 AAS
>>276
boostのドキュメントを素直に翻訳したものを出してほしい
279: 2009/10/18(日) 19:58:35 AAS
boostのドキュメントのPDF版見てみりゃわかるけど、リファレンス部含めたらasioだけで969ページある
全部のドキュメント訳したら何千ページにもなるだろうからコミュニティベースで訳す他無いんじゃないか
最も、今までその試みが何度失敗したか分からんがね

第3版にrange_exが間に合うと良いなあ
280: 2009/10/18(日) 22:07:45 AAS
つかえねーやつほど
道具のせいにする
道具にも馬鹿にされて自己嫌悪に陥るな
281: 2009/10/19(月) 00:01:26 AAS
valut から property tree 落としてきて使ってみた。
これ面白い。
INI parser しか試してないけど、レジストリも触れちゃうみたい。
282: 2009/10/21(水) 13:09:36 AAS
> boostのドキュメントのPDF版
その存在を始めて知った!
HTMLしかないと思っていたよ
283: 2009/10/21(水) 22:03:52 AAS
わたしも……(´・ω・`)
284: 2009/10/22(木) 09:42:09 AAS
boostは便利だなぁ〜使えば使うほど実感するよ
挙動がよくわからなかったりマニュアルの英語が何言っているか理解できないときは
ヘッダを読むけどコレがとても為になるですよ
285: 2009/10/22(木) 09:45:16 AAS
$BOOST_ROOT/libs/*/test/*あたりのコードも参考になった
286
(1): 2009/10/23(金) 11:15:11 AAS
CMakeのあつかいが変わった
めんどくせー
287
(1): 2009/10/23(金) 21:19:15 AAS
>>286
CMake関連のファイルが大量に削除されたり変更されたりしていたので、
試しにプロジェクトを作成しようとしたらエラーになってしまったのですが
ビルド可能なのですか?
288: 2009/10/23(金) 22:00:59 AAS
更新しました。
外部リンク:booster.x0.to
以下更新内容の一部
[Spirit]
Spirit: fixing endianess/truncation problem in Karma|s output iterator
Spirit: fixing tests for big endian binary generator
Spirit: removed undefined behavior in grammar initialization
[Interprocess]
Fixes for 1.41
[Intrusive]
Fixes for 1.41
[Graph]
Removed assertions that may depend on FP precision.
[Serialization]
add non-polymorphic pointer test
[Pool]
Allow zero-sized blocks to be allocated by malloc_n. Fixes #386
[Unordered]
Use normal emplace implementation for emplace_hint and insert with hint.
Fix allocator for construct from initializer list.
[Random]
Disable some warnings for msvc. Fixes #3532
[Math]
Improve ibeta error handling, and add new tests.
[Detail]
fix for fix in r35591: sometimes __hppa is on PA-RISC but __hpux isn't Fixes ticket #3537
[Signals2]
Qualify addressof call, refs #3534.
[Python]
Fix for #3490, parameter depends on python.
[Thread]
Added futures to boost.thread
289: 2009/10/24(土) 13:15:03 AAS
外部リンク[html]:www.boost.org
にあるwaveのサンプルプログラムの、while(first != last) のiteratorの比較で
boost::wave::preprocess_exception例外投げるんだけど、なんで?

context の設定だけ
ctx.add_macro_definition("_WIN32");
ctx.add_macro_definition("_MSC_VER=1500");
ctx.set_language(boost::wave::language_support(boost::wave::support_cpp));
ctx.add_sysinclude_path("E:\\lib\\boost\\boost_1_39");
ctx.add_sysinclude_path("C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\include");
な風にしたけど・・・
290: 2009/10/24(土) 16:46:27 AAS
>>287
別サイトから、CMakeの分だけダウンロードするようになった
291: 2009/10/24(土) 17:07:41 AAS
cmakeみたいなゴミ使わずにbjam使いましょう
292
(1): 2009/10/24(土) 17:11:27 AAS
bjamとかカスだし。
293: 2009/10/24(土) 17:58:44 AAS
ゴミクズじゃないビルドシステムなど無い
294
(1): 2009/10/24(土) 18:01:27 AAS
bjamなんてドキュメント読めば2秒で理解できるぞ
295: 2009/10/24(土) 20:16:13 AAS
ドキュメント読むのが億劫で読んでいなくてごめんなさい。
296
(1): 2009/10/24(土) 20:26:11 AAS
事実上CMake対応は放棄か。
297: 2009/10/24(土) 20:48:02 AAS
なんでCMakeでビルドしたがるの?
bjamがあるじゃん。

Boostのビルドにおいて
CMakeがbjamを上回ることってなんかあるの?

特に>>292
298: 2009/10/24(土) 21:13:38 AAS
>>294
2秒でドキュメントは読めない
299
(1): 2009/10/24(土) 21:18:03 AAS
ドキュメントを隅々まで読み終えてから、もう2秒必要ということなんだろう。
300: 2009/10/24(土) 21:21:11 AAS
えっくすこおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおど
301: 2009/10/24(土) 21:22:05 AAS
CMAKEなんてドキュメント読まなくても理解できたぞ。
ところで、なんで>>296みたいなアホがいるんだ。
ほんとに質が低いなこのスレは。
302: 2009/10/24(土) 21:36:33 AAS
自分で書くのならbjamよりcmakeの方が楽だった
y-hamigakiさんの書いた資料のおかげというのもあるけど
CMakeはprecompiled headerを使うのだけでも一苦労、
flymake用のsyntax check用の高速にビルドできるタスクを定義するのは並大抵のもんじゃないときた
cmake .とかするだけの使い方するなら問題ないけどな
303: 2009/10/24(土) 22:19:51 AAS
>>299
なるほど。
なら可能だ
304: 2009/10/25(日) 00:26:41 AAS
cmakeは使ったことないけど、bjam(+boost-build)はそこそこ対応コンパイラが多いのと、
自動的にdebug/releaseビルドのobjファイルを別場所に配置してくれるので切り替えが楽という利点があるな。
逆に問題はドキュメントが異様に少ないこと。
でもビルドに必要な大抵のことは(きちんとドキュメント化されているかは別として)できるかな。
305
(1): 2009/10/27(火) 05:02:38 AAS
Check failed in file /usr/include/boost/numeric/ublas/vector_expression.hpp at line 548:
size1 == size2
terminate called after throwing an instance of 'boost::numeric::ublas::bad_argument'
what(): bad argument
Aborted

このエラーの対処法教えてください
306
(1): 2009/10/27(火) 07:00:59 AAS
>>305 外部リンク[html]:osdir.com
307: 2009/10/27(火) 11:27:08 AAS
>>306
ありがとうございます
参考にしてみます
308
(1): 2009/10/28(水) 23:41:26 AAS
bool pred(int n) { return n; }

struct hoge { int foo() { return 0; } };
struct bar { hoge hoge_; hoge fuga() { return hoge_; } };

std::vector<bar> bars;

std::count_if(bars.begin(), bars.end(), pred(bind(&bar::fuga, _1)().foo()));

bars の各インスタンス _1 のうち、pref(_1.fuga().foo()) を満たす物の個数を数えたくて
上記 std::count_if のように boost.lambda を用いて呼び出してみたのですが,
コンパイルエラーとなってしまいました.

上記のような目的を達成するにはどうすればよいのでしょうか?
C++ 0x 対応であればなんとか出来そうな気がしますが、環境が VC2008 なので使え
ません.lambda や bind で書けるのでしょうか?詳しい人教えて下さい・・・
309: 2009/10/29(木) 00:03:07 AAS
>308
これでどないでしょ。

bool pred(int n) { return n; }

// 恐らく一時オブジェクトに対する参照が必要になるので const が必要
struct hoge { int foo() const { return 0; } };
struct bar { hoge hoge_; hoge fuga() { return hoge_; } };

std::count_if(bars.begin(), bars.end(), bind(pred, bind(&hoge::foo, bind(&bar::fuga, _1))));
310: 2009/10/29(木) 00:16:06 AAS
こうなると名にやってんのか逆に分かりにくいな
311: 2009/10/29(木) 06:55:58 AAS
#define _ bind
std::count_if(bars.begin(), bars.end(),
    _(pred,
                _(&hoge::foo,
            _(&bar::fuga,
        _1))));
#undef _
312: [―{}@{}@{}-] 2009/10/29(木) 14:14:43 AAS
というか0xならもっと分かりやすく書けるの?
313: 2009/10/29(木) 14:22:38 AAS
std::count_if(bars.begin(), bars.end(),
    [] (bar& x) -> bool { return pred(x.fuga().foo()); })
314: 2009/10/29(木) 14:24:00 AAS
あ、戻り値の型はコンパイラにまかせてもいいんだったっけ。

std::count_if(bars.begin(), bars.end(),
    [] (bar& x) { return pred(x.fuga().foo()); })
315: 2009/10/30(金) 22:23:22 AAS
更新しました。今週はsmart_ptr, thread, regex, xpressiveといった割と使われていそうなライブラリに
fixや仕様変更が入っています。
外部リンク:booster.x0.to
以下更新内容の一部
[Spirit]
Spirit: more work on attribute traits,
allowing optional for alternatives, maxwidth supports extracting overhang
[Fusion]
fix for #2355: discrepancy between std::accumulate and fusion::accumulate
[Regex]
Tighten up error handling and checking.
[Unordered]
Remove 'grouped' from hash_table as it isn't used and is a bit confusing.
[Circular_buffer]
circular_buffer: added erase_begin and erase_end methods
316
(1): 2009/10/30(金) 22:24:35 AAS
Fix for bug #2067 --- use shared_mutex for thread_group rather than a simple mutex
Fix for move assignment of unique_lock if rvalue refs supported
More fixes for compilers with rvalue ref support
[Xpressive]
nested results uses a custom list type that allows incomplete types,
does no dynamic allocation in the default constructor,
and has a guarnteed O(1) splice; fixes #3278
[Smart_ptr]
Renamed enable_shared_from_this2 to enable_shared_from_raw and
added shared_from_raw free function. These changes fix the pointer
value in shared_ptr which were obtained before an external shared_ptr has
taken ownership of the object (for example when a shared_ptr to
this is obtained in an object's constructor).
[Numeric]
see #3501: Reusing concepts from different compile units yields multiple defined symbols (Incomplete)
* removed inlines that were added with the last commit
* added anonymous namespace to make functions local to compilation unit
317: 2009/10/30(金) 22:27:06 AAS
すみません、>>316はミスです。315の後こちらを続けて下さい

[Thread]
Fix for bug #2067 --- use shared_mutex for thread_group rather than a simple mutex
Fix for move assignment of unique_lock if rvalue refs supported
More fixes for compilers with rvalue ref support
[Xpressive]
nested results uses a custom list type that allows incomplete types,
does no dynamic allocation in the default constructor,
and has a guarnteed O(1) splice; fixes #3278
[Smart_ptr]
Renamed enable_shared_from_this2 to enable_shared_from_raw and
added shared_from_raw free function. These changes fix the pointer
value in shared_ptr which were obtained before an external shared_ptr has
taken ownership of the object (for example when a shared_ptr to
this is obtained in an object's constructor).
[Numeric]
see #3501: Reusing concepts from different compile units yields multiple defined symbols (Incomplete)
* removed inlines that were added with the last commit
* added anonymous namespace to make functions local to compilation unit
318
(1): 2009/11/06(金) 22:04:19 AAS
外部リンク:booster.x0.to
以下更新内容の一部
[Spirit]
Spirit: fixing lex::tokenize_and_parse functions
Fix. Disallow alpha or underscore after "int"
Spirit: fixing usage of plain functions as lexer semantic actions
Spirit: replaced long long by boost::long_long_type
[Ptr_container]
外部リンク:svn.boost.org
[Fusion]
Fusion: adding a missing 'const'
associative_sequence_tag -> associative_tag
[Regex]
Added support for function objects as well as strings when formatting.
[Program_options]
Fix 'ambiguous else clause' compiler warning. Fixes #3556.
Put description to next line if we'd overflow otherwise. Fixes #689.
Use extra parens to silence warnings re &&/|| on same level.
[Xpressive]
fix infinite loop with some uses of \Q...\E quotemeta, fixes #3586
[Math]
remove surplus const-qualifiers.
[Wave]
Wave: added missing header file and special handling for stlport
[Smart_ptr]
Added weak_from_raw(), for use in conjunction with
enable_shared_from_raw base class.

亦、how_to_build.txt及びlibs_for_build_boost.rar内bjam.exe, readme.txtも併せて更新致しました。
それから、公式でのリリース版バイナリの配布が開始されました。
同じくBoost 1.41 betaの配布も始まっています。
外部リンク:sourceforge.net
319: 2009/11/07(土) 05:42:37 AAS
>>318
320
(2): 2009/11/10(火) 10:06:18 AAS
template<class F>
struct is_lambda_impl
{
static const bool value = false;
};
template<class F, class A0>
struct is_lambda_impl<boost::lambda::lambda_functor<F>(A0)>
: public boost::lambda::lambda_functor<F>::template sig<boost::lambda::tuple<boost::lambda::lambda_functor<F A0> >
{
static const bool value = true;
};
template<class F, class A0, class A1>
struct is_lambda_impl<boost::lambda::lambda_functor<F> (A0, A1)>
: public boost::lambda::lambda_functor<F>::template sig<boost::lambda::tuple<boost::lambda::lambda_functor<F A0, A1> >
{
static const bool value = true;
};
template<class F>
bool is_lambda_(F)
{
return is_lambda_impl<F(????)>::value;
}
int main()
{
std::cout << is_lambda_((boost::lambda::_1 * 2)) << "\n";
std::cout << is_lambda_(std::plus<int>()) << "\n";
}
321: 2009/11/10(火) 10:07:50 AAS
お遊びですが・・・
>>320 のプログラムは、lambdaか否かを判断するmeta function を作ろうとした
のですが、???? の部分で困っています。

boost::lambda::_1 * 2 とある時、引数の型が知りたい。
でも、これは無理ですよね。

簡単言うと、is_lambda_implをlambda式に応じて呼び分けしたいのです。
何かいい案ないですか?
322
(1): 2009/11/10(火) 10:14:14 AAS
>>320
is_lambda_impl<F>::value じゃないの?
そうじゃなければ何がしたいのかよくわからん。
323
(1): 2009/11/10(火) 10:26:39 AAS
>>322
それじゃ駄目ポ。
template<class F>
struct is_lambda_impl
{
static const bool value = false;
};
にいっちゃいます。
324
(2): 2009/11/10(火) 10:29:47 AAS
>>323
なら ???? の部分じゃなくて特殊化ができてないんじゃないの?
325
(1): 2009/11/10(火) 10:34:21 AAS
>>324
あんまり、そこに拘る必要はないです。
lambdaか否かを判断するmeta function が作れればおk。
326: 2009/11/10(火) 10:40:42 AAS
>>324
F(????)としてるのは、F(int)とすれば
template<class F, class A0>
struct is_lambda_impl<boost::lambda::lambda_functor<F>(A0)>
が選択されるからです。

int 部分にはboost::lambda::_1の型か何か別のものが入ると思う。
_1 や _2 の数によって F(A0) F(A0, A1) の様な形になると思う。
327
(1): 2009/11/10(火) 11:00:54 AAS
こゆこと? (動作確認してないけど)

template<template <class f> class T, class F>
bool is_lambda_(T<F>)
{
return is_lambda_impl<T<F> >::value;
}

template<template <class f, class a0> class T, class F, class A0>
bool is_lambda_(T<F, A0>)
{
return is_lambda_impl<T<F, A0> >::value;
}

template<template <class f, class a0, class a1> class T, class F, class A0, class A1>
bool is_lambda_(T<F, A0, A1>)
{
return is_lambda_impl<T<F, A0, A1> >::value;
}
328
(2): 2009/11/10(火) 11:01:01 AAS
>>325
まずは、何か lambda expression だけの特性を探すことだね。

unlambda してみて違う型が返ってくるようなら true になる関数とか?
329: 2009/11/10(火) 11:23:13 AAS
>>328
unlambdaすると false になります。
330: 2009/11/10(火) 20:24:31 AAS
>>327
駄目ポ。

template<template <class f> class T, class F>
bool is_lambda_(T<F>)
全て↑が選択されて、falseになる
331: 2009/11/11(水) 01:34:45 AAS
>>328
遊びだとか実装方法は問わないとか言ってるから、 unlambda() のソースから
扱いを分けてるところパクってきたほうが早そう。
332: 2009/11/11(水) 11:41:35 AAS
できた。でもg++でコンパイル通らないorz
外部リンク:codepad.org
333: 2009/11/11(水) 17:16:17 AAS
g++でもできた。単純なミスだった。
外部リンク:codepad.org
334: 2009/11/13(金) 23:53:06 AAS
更新しました。今週はコンパイル時の警告の抑制が中心の様です。
外部リンク:booster.x0.to
以下更新内容の一部
[Spirit]
Spirit: fixing bug in alternatives taking optionals
Spirit: started to integrate re2c style code generator for lexer
[Regex]
Improved error messages generated for thrown exceptions.
[Program_options]
Fix wordwrapping in presense of default parameters.
Don't strip quotes from values.
[Smart_ptr]
Fixed access to enable_shared_from_raw::weak_this_ when
BOOST_NO_MEMBER_TEMPLATE_FRIENDS is defined.
[Unordered]
Change unordered move tests to be more lenient on compilers without NRVO.
[System]
System: Correct too_many_symbolic_link_levels misspelling. Fix #3559.
335: 2009/11/13(金) 23:53:49 AAS
[Graph]
Changed to boost::unordered_* containers instead of compiler-specific ones;
made hashed containers enabled always
[Integer]
Reverted Integer back to Release branch state - as per devel-list discussions.
[Xpressive]
do NOT copy singular iterators, fixes #3538
[Iostreams]
Allocate exceptions on the stack, not the heap. Refs #3612, by Richard Smith.
Fix unthrown exceptions. Refs #3311.
Fix mapped file errors in windows. Refs #3505.
[Exeption]
Prevent ADL from finding other dispatch functions or types. Required for #2094.
[Fusion]
avoid iterator invalidation in segmented_range, fixes #3583

亦、libs_for_build_boost.rar内bjam.exeも併せて更新致しました。
336
(2): 2009/11/14(土) 15:45:45 AAS
Boost 1.41 の
boost/function_types/detail/synthesize_impl/arity20_0.hpp
boost/function_types/detail/synthesize_impl/arity30_0.hpp
がおかしくね?
なんかソースが途中で切れたみたいになってる。
手元で確認できるかぎりでは、svn56164 で正常。
svn57242 ではおかしくなってる。
337: 2009/11/15(日) 02:14:23 AAS
お前だけじゃね?
こっちはそんなことないが。
338: 2009/11/15(日) 09:23:37 AAS
>>336
ちゃんとSubversion使ってる?
339: 2009/11/15(日) 10:12:48 AAS
>>336
ほんとだ。
リビジョン番号 56305以降がおかしい。
stefanが更新してる
340: 2009/11/15(日) 11:08:03 AAS
まったくもう、ステフったら……
341: 2009/11/16(月) 16:27:52 AAS
外部リンク:codepad.org

Boost.Propertyを使ったお試しコードを書いたのですが、Property用のメンバーをstringにすると以下の様な
エラーになるんだけど、原因分かる人いる?

error C2679: 二項演算子 '<<' : 型 'Person::_PropertyNamaeImpl_' の右オペランドを扱う演算子が見つかりません (または変換できません)。 e:\property_test.cpp 57

property_get::operator return_type()まで来ないので、ADL系の様な気がする・・・
なぜ、来ないのか分からない。
342: 2009/11/18(水) 06:38:03 AAS
boost::function、bind、refの組み合わせってboost::spiritのセマンティックアクションに
渡せますが、tr1の物だとダメなようです。
これらのようにtr1とboostの物での違いの、一覧みたいなのは無いでしょうか?
343: 2009/11/20(金) 23:35:32 AAS
[Spirit]
Spirit: more static lexer updates
Spirit: added new Qi example
Spirit: updating example
Don't match substrings in symbols::find.
Added Nabialek Trick Example
typeof example
Implement prefix_find.
BOOST_SPIRIT_AUTO added
Spirit: bumped version number after the release of 1.41
Spirit: fixed references to corresponding articles at Spirit site.
[Xpressive]
use boost::optional's swap instead of std::swap
[Random]
Allow arbitrary values to be used as seeds for linear_congruential,
linear_feedback_shift, and any generators that depend on them. Fixes #3516
Fix min/max problems
1-
あと 658 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.208s*