[過去ログ] Boost総合スレ part7 (989レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
855(2): デフォルトの名無しさん [sage] 2009/08/05(水) 20:44:04 AAS
Boostには多倍・無限長整数クラスや多倍・無限精度小数クラスは入っていないですが、
将来的にはサポートされる予定ありますか?
856(1): デフォルトの名無しさん [sage] 2009/08/05(水) 20:51:30 AAS
無限精度小数って何気なく割り算したら二度と戻ってこなくなるのか
857: デフォルトの名無しさん [sage] 2009/08/05(水) 20:56:13 AAS
>>856
何を訳のわからないことを言っているのですか?
858: rational [sage] 2009/08/05(水) 20:58:34 AAS
えっ?呼んだ?
859(1): デフォルトの名無しさん [sage] 2009/08/05(水) 23:15:54 AAS
rationalさんはお呼びしておりません
860: rational [sage] 2009/08/05(水) 23:52:27 AAS
boost::protoを使って作るんだ >>誰か
861(1): デフォルトの名無しさん [sage] 2009/08/06(木) 20:12:52 AAS
lambda さん、教えてください
class Hoge {
public:
int getHoge() const { return hoge_; }
private:
int hoge_;
};
std::vector<Hoge> hoges;
// hoge が -1 の値をもつものを検索したい
std::find_if(hoges.begin(), hoges.end(), _1.getHoge() == -1);
上記のプログラムで find_if で _1 に getHoge() がないと怒られてしまいます。
どうのように書けばよいのでしょうか?
862(1): デフォルトの名無しさん [sage] 2009/08/06(木) 20:28:46 AAS
>>855
多倍長はsandboxにboost.bigintがあるよ
863(2): うちラムだっちゃ [sage] 2009/08/06(木) 21:09:18 AAS
>>861
std::find_if(hoges.begin(), hoges.end(), boost::lambda::bind(&Hoge::getHoge,boost::lambda::_1) == -1);
864: bind [sage] 2009/08/06(木) 21:12:24 AAS
>>863
lambda先輩はそんな低俗な語尾つけないっす
865: デフォルトの名無しさん [sage] 2009/08/06(木) 22:15:42 AAS
find(hoges, [](x){return x.getHoge() == -1;});
そのうちこんな風になるのかな…
866: デフォルトの名無しさん [sage] 2009/08/06(木) 22:47:15 AAS
綺麗じゃないか
867(2): デフォルトの名無しさん [sage] 2009/08/06(木) 23:18:03 AAS
>>863
ちょっと見やすくしてみた。
using boost::lambda::_1;
std::find_if(hoges.begin(), hoges.end(), bind(&Hoge::getHoge, _1) == -1);
868: 855 [sage] 2009/08/06(木) 23:46:29 AAS
>>862
正式採用が楽しみです。
ありがとうございました。
869: デフォルトの名無しさん [sage] 2009/08/06(木) 23:48:24 AAS
Boostのsandboxってみんな使ってる?
870(1): デフォルトの名無しさん [sage] 2009/08/06(木) 23:56:31 AAS
>>867
bindもusingしなきゃ
871(1): デフォルトの名無しさん [sage] 2009/08/07(金) 00:03:06 AAS
>>870 いや、 ADL が効くから >867 で通る。
872: デフォルトの名無しさん [sage] 2009/08/07(金) 01:18:41 AAS
>>871
おぉほんとだw
873: デフォルトの名無しさん [sage] 2009/08/07(金) 07:13:24 AAS
boost.bind と boost.lambda.bind って実態は一緒ですか?
874: デフォルトの名無しさん [sage] 2009/08/07(金) 10:14:05 AAS
別物です。
lambdaの方が良いらしい。
875: デフォルトの名無しさん [sage] 2009/08/07(金) 11:13:46 AAS
統合するとかって話が大昔になかったっけ
876: デフォルトの名無しさん [sage] 2009/08/07(金) 11:26:13 AAS
あったかもしれないけど、正式にlambda使えるようになるからやんないのじゃない?
877(1): 471 [sage] 2009/08/07(金) 11:40:23 AAS
俺もboost::lambda::bindはboost::bindの完全上位互換だと思っていたが、
>>471471(11): デフォルトの名無しさん [sage] 2009/04/30(木) 23:11:00 AAS
C++ code - 32 lines - codepad
外部リンク:codepad.org
このコードにて、エラーになる原因が分かりません。
私の考えでは
boost::lambda::bind(func_i, boost::lambda::protect(boost::lambda::bind(my_name, boost::lambda::_1)))
でconst char* constを受け取りintを返す関数が得られるので、
それをlambda_test_funcの引数として渡せるのではないかと思ったのですが。
どこを修正すればよろしいでしょうか?
>>492492(1): 471 [sage] 2009/05/03(日) 21:01:43 AAS
>>491
SpiritのSemantic Actionにlambda::bindで関数を結合して渡すとエラーになりますが、boost::bindならOKです。lambda::bindでも大丈夫にする方法を教えていただけないでしょうか?
この辺で
boost::lambda::bindでは出来ないがboost::bindでは出来る例が
書かれているようだぞ。
878: デフォルトの名無しさん [sage] 2009/08/07(金) 11:46:28 AAS
「だぞ」って、あんたじゃないのか?w
879: デフォルトの名無しさん [sage] 2009/08/07(金) 12:57:38 AAS
>>877 (>>487-494)
MyClass::get_10 を &MyClass::get_10 にしたら lambda:::bind で通ったぜ。
上下前次1-新書関写板覧索設栞歴
あと 110 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.029s