問題タブ [boost-lambda]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
246 参照

c++ - boost::lambda で static_cast を使用する

boost::lambda何らかの変換に使用する必要があります。

私はこれを試しました:

しかし、私はエラーがあります:

この変換をラムダの中に入れる方法は?

0 投票する
1 に答える
464 参照

c++ - boost::lambda または boost::phoenix を std::find_if とともに使用する

私はこのようなクラスを持っています

次のように、Foo オブジェクトでいっぱいのベクターで find_if を使用したいと考えています。

???の代わりに何を書かなければならないのかよくわかりません。boost::lambda の _1 または boost::phoenix の arg1 があることは知っていますが、その後は途方に暮れています。

編集:

多くの例でこのように見たにもかかわらず、機能しない次のことを試しました。

次に、次のエラーが表示されます。

エラー C2678: バイナリ '==' : 型 'const boost::lambda::lambda_functor' の左側のオペランドを取る演算子が見つかりません (または、受け入れ可能な変換がありません)

0 投票する
0 に答える
117 参照

c++ - ブーストラムダ/フェニックスで返された構造体のメンバーにアクセスする

古いコードの一部を、より単純なファンクター ベースのコードに置き換えたいと考えています。しかし、手元にC++ 11がないため、これにファンクタークラスを導入してboost::lambda/phoenixを使用したくありません。

古いコードは次のようになります

すべてのポイント (魔法をカプセル化) に対して Functor を呼び出し、それらの呼び出しのいずれかが true を返すときに true を返す関数があります。

これを の最初の部分に翻訳するのifは簡単です:

そして 2 つ目は、次のようなことをしたいと思います:bind(&GetNode, this, _1).owner == player+1これはサポートされていません。

これを行う最も読みやすい方法は何ですか? これは、フェニックスラムダを使用して参照をバインドし、関数を直接呼び出すことで解決できると思いますがthis、単純なメンバーまたはパラメーターのみにアクセスする単純な「Hello World」ラムダを超える参照は見つかりませんでした。