問題タブ [boost-function]

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 に答える
268 参照

c++ - boost::function同様のクラス

boost :: functionに似たクラスFunctionを実現したいと思います。クラスFunctionは、main.cppで次のように使用できます。

私のFunction.hppには、

上記のコードは、関数f =&funct1では正常に機能
しますが、関数b = boost :: bind(&funct1、_1);では機能しません。
boost :: Functionがどのように正確に機能するのか、そしてFunctionサポートboost::bindのために何ができるのか知りたいです。

0 投票する
2 に答える
99 参照

c++ - C++ クラスでの static 宣言

2 番目の機能ではなく、最初の機能が機能しない理由がわかりません。

また、concurrentQueue クラスの先頭も添付します。

0 投票する
2 に答える
2645 参照

c++ - boost::function をコピーするとクロージャもコピーされますか?

次のような関数があるとします。

boost::function を作成すると、その関数はオブジェクトの独自のクローン コピーをクロージャーに格納します。

f を渡し始めると、boost::function コピー コンストラクターは毎回そのオブジェクトをコピーしますか、それとも各関数は同じクロージャーを共有しますか? (つまり、このように)

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

c++ - ブーストバインド/ブースト機能で問題を引き起こすブーストタプル?

ここでの問題は非常に一般的だと思いますが、ここで何が間違っているのかよくわかりません。

私はいくつかのboost::asioのことをやっていて、テンプレート化された非同期読み取り関数を書き込もうとしています。

ここに関数があります。

この関数の最後のステートメントで事態が悪化し始めます。

変数 'x' をパラメーターとして async_read 関数に渡そうとしたとき。

エラーは、長さと解読可能な意味の欠如の両方で伝説的です。

エラー出力のほんの一例:

ここでブースト関数を使用せず、代わりにメンバー関数への参照であるコメントアウトされた行を使用すると、うまくいくように見えますが、その理由を特定することはできません。

AConnection::HandleReadHeader 関数テンプレートの関数シグネチャは次のとおりです。

ハンドラーのタイプは次のとおりです。

関数 AsyncRead と HandleReadHeader は、私自身のクラス AConnection のメンバーです (おそらく重要ではありません)。

署名にboost::tupleが含まれるboost::functionオブジェクトの作成に関する構文に関する何かが欠けているか、boost::asio::async_read関数の3番目のパラメータータイプが変数 'xと一致していません'。

どんな助けでも大歓迎です。ありがとうございました。

編集:

これは機能しますが、boost::functon の代わりにメンバー関数参照を使用するコードです。

0 投票する
3 に答える
1641 参照

c++ - 2 つの独立した boost::bind() を 1 つの boost::function に結合する方法は?

私は2つの機能を持っていf()ますg(). 毎回順番に呼んでいきたいです。私boost::functionはこれを行うことができますか?例:

これをさらに拡張して、引数が必要だとすると、必要なのは一連の責任です。各ノードは引数を使用して何かを行い、その後にチェーンの次のノードが続きます。それ、どうやったら出来るの?


Update Seth Carnegie のコメントに感謝します。私が本当に望んでいるのは、責任の連鎖を単一の に構築する方法であり、連鎖のboost::function各ノードは を使用して構築できますboost::bind()

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

c++ - boost :: bind&boost::functionと部分引数

私がやりたいことの例をあなたに投稿します、それはこのように説明するのが簡単です

何か案は?

0 投票する
2 に答える
946 参照

c++ - boost::bindとboost::unordered_mapの挿入

に新しいキーと値のペアを挿入するboost::bindために使用したいのですが、コンパイルエラーがほとんど発生しませんでした。boost::functionboost::unoredered_map

以下のエラーbindは、の適切なオーバーロードが見つからないようですunordered_map::insert。この場合、正確に正しいオーバーロードを指定しますが、今回は機能しません。あなたはそれが何であるか知っていますか?

0 投票する
2 に答える
126 参照

c++ - boost :: functionをポインターに複製し、そのポインターでラップされた関数を呼び出す

ポインタを使用してのコピーを作成し、boost::functionそのポインタを使用してその関数を呼び出そうとしています。私の質問は

  1. そのようにクローンを作成するのboost::functionは正しいことです
  2. toの呼び出しfp->target()は、boost :: functionでラップされた関数を呼び出すかどうかを指定しますか?

どうもありがとう

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

c++ - llvm g++ とブースト機能

数学関数を評価するためにboost::functionによって導入される時間オーバーヘッドが、 を使用する場合と比較して無視できるかどうかを判断しようとしていfunction templatesます。

私が使用するベンチマークのコードは次のとおりです。

従来g++の では、オーバーヘッドboost::functionはごくわずかです。

を使用llvm-g++すると、 では速度が 1.5 倍になりますが、 では速度が向上しtemplates functionませんboost::function

boost::functionとの 1.5 ゲインを得ることができllvm-g++ますか?

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

boost - Boost.Lambda-間接参照プレースホルダー

ラムダ式内のプレースホルダーを逆参照する方法はありますか?

私はバインディングを作成できることを知っています:

、しかし、ifステートメントなどを使用して、より複雑な式を作成したいと思います。