問題タブ [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.
c++ - ブーストラムダの正しい使用
次の C++0x コードを考えてみましょう。
Boost Lambda ではどのように正しく表示されるでしょうか (この C++0x 機能は GCC 4.4 ではまだ使用できないため)?
c++ - ラムダ対フェニックスをブースト
私は最近、ラムダの代わりとしてブーストフェニックスを見始めました。フェニックスはラムダの完全な代替品ですか、それともフェニックスによって提供されていないラムダ機能がありますか?フェニックスは成熟していますか?知っておくべき落とし穴はありますか?
私の主な関心は演算子の構成であり、制御ステートメントとキャストはそれほどではありません
ありがとう
c++ - C++ boost::lambda::ret はフェニックスで同等
ret<T>
ブースト ラムダにより、テンプレートを使用して推定された戻り値の型を上書きできます。フェニックスで同等のものを検索しようとしましたが、見つかりませんでした。
フェニックスに相当するものはありますか?私は自分で交換品を作る方法を知っていますが、むしろしたくありません。ありがとうございました
c++ - boost::transform_iterator でフェニックス式を使用する方法は?
<更新>いつものように、質問は間違っていました。実際の問題は、なぜ transform_iterator が UnaryFunc::result_type に直接アクセスする代わりに、従来の result_of<> メタ関数を使用して戻り値の型を決定しないのかということです。回避策を含む回答を投稿しました。 </アップデート>
具体的には、フェニックス式result_type
で std::unary_function の概念に期待される型を公開する方法はありますか? boost::transform_iterator はこれを期待しているようで、その src を見ると、単純な回避策は見当たりません。
私が抱えていた問題を再現するコードは次のとおりです。
これをコンパイルしたときのエラー メッセージの関連部分は次のとおりです (gcc 4.3.4、boost 1.43):
boost::lambda (missing result_type
) にも同じ問題があります。過去に make_transform_iterator と lambda の同様の使用法を見たことがあると思っていましたが、今は想像しただけでしょうか。
提供されたラッパーまたはフェニックスまたはラムダに公開する他のメカニズムはありresult_type
ますか?
c++ - ラムダ式の return ステートメント
std::for_each
呼び出し内にラムダ式を作成しました。
その中にこのようなコードがありますが、ビルドエラーがあり、それを教えてくれます
私の頭では、それはboost-lambda
主にファンクターで機能すると思うので、return
ステートメントはそうではないので、呼び出しは機能しません。
それが何であり、それを修正する方法を知っていますか?
ありがとうAFG
map - マップをベクターにコピー
std::map から特定の要素をベクターにコピーする必要があります。次のループのように動作するはずです。
ファンクターの使用を避けたいが、代わりにboost::lambdaを使用したいので、std::copyを使用してみましたが、うまくいきません。
私はラムダ式が初めてで、それらを正しく使用する方法がわかりません。Google でも StackOverflow でも、有用な結果は得られませんでした。 この質問は似ています
c++ - ラムダバインドの問題?
私はブーストの新しい初心者です。そして、これが私のテストコードです。
プロジェクトをビルドしてエラーを生成します。
エラーC2665:'boost :: lambda :: function_adaptor :: apply':2つのオーバーロードのいずれもすべての引数タイプを変換できませんでした
何が悪いのかしら?本当に感謝しています。
c++ - boost::lambdaでboost::formatを使用する
boost::format
どういうわけか、で使用できませんboost::lambda
。これが私のコードの(うまくいけば)コンパイル可能な簡略化です:
- 最初
std::for_each
は期待される出力を生成します - 2つ目
std::for_each
は、数字のない空白のみを出力します
何故ですか ?私は本当によく知らないboost::lambda
ので、ここで明らかなことを見逃しているかもしれません。
ベースの答えを提案しないでくださいstd::copy
:私の実際のコードは機能しませんstd::vector
が、機能しますboost::fusion::vector
(std::for_each
実際にはboost::fusion::for_each
)。
c++ - 複合型で Boost.Bind を使用するにはどうすればよいですか?
私は を持っており、このマップstd::map<int, std::pair<short, float> >
で最小のものを見つける必要があります。short
これにどのように使用できboost::bind
ますstd::min_element()
か?
boost::lambda
?