問題タブ [rxcpp]

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 投票する
2 に答える
2436 参照

c++ - C++ での RxCpp リアクティブ拡張機能

Win32 コンソール アプリがあり、Rx への参照をインポートしました。インテリセンスは私がこれを行うことができます....

次に、ISubject/Subject や IObserver/Observer など、多数のクラスを利用できます。ただし、IObservable はありません。Cpp を使用した Rx のドキュメントがないことに少し不安を感じています。明らかなリソースが不足していますか?

Channel9、Google、Stackoverflow、Facebook のグループを試しました。これは私が作成した C# コードです。これを C++ で動作させたいと考えています。この関数は、さまざまな観測ソースからのすべてのデータをマージし、リストとして出力します。

したがって、マトリックス 1 はソース 1 から表示され、マトリックス 2 はソース 2 から表示されます。それらは id によって照合され、リストとして一緒にプッシュされます。

ここでの助けは良いでしょう。必要なクラスの一部が見つからず、構文の他の側面が異なります。C++ での処理方法を示すソースまたは例はありますか。それらから推測することができるかもしれません。

問題の元の投稿はこちらです。

http://social.msdn.microsoft.com/Forums/en-US/58a25f70-a7b8-498b-ad7a-b57f3e1152da/rxcpp?forum=rx

以前こちらに問い合わせてみましたが、返答がありませんでした。これがもう少し実りあるものになることを願って、今私が達成しようとしていることについてより多くの情報を持っています.

ありがとうございました。

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

c# - RxCpp で登録解除できる Observable を作成します

Rx に大きく依存している C# からいくつかのコードを移植していますが、最も使用されている C# メソッドのいくつかに相当する C++ を見つけるのに苦労しています。

特に、サブスクリプション/サブスクリプション解除ロジックからオブザーバブルを作成したいと考えています。C# では、Observable.Create<TSource> Method (Func<IObserver<TSource>, Action>)オーバーライドを使用してオブザーバブルを作成します。例えば

RxCppで同じことを行うことは可能ですか? 答えはrx::observable<>::create(OnSubscribe os)メソッドにあると思いますが、それを使用してサブスクリプション解除ラムダを「登録」する方法がわかりません。

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

c++ - Rxcpp のスケジューラ

Rxの C++バージョンでスケジューリング モデルを理解しようとしています。

1 つの Schedule メソッドを備えた単純なインターフェイスがある C# バージョンを知っている。C++ バージョンは、スケジューラ、ワーカー、調整など、かなり複雑に見えます。

私にとって欠けている主要な部分の 1 つは、スレッド プール スケジューラの実装です。他の名前で存在するのでしょうか? どうすれば自分で実装できますか?PPL(Windows)の上に書くべきですか?その上にシリアライズされた (アクターのような) オブザーバーが必要な場合、何を使用すればよいですか? ここここを覗いてみると、これが簡単な作業ではないことがわかります。

公式ドキュメントは自動生成され、まだ非常にまばらな ので、主題に関するある種の概要を得るのに本当に役立ちます.

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

c++ - RxCpp: observe_on(rxcpp::observe_on_new_thread()) を使用する場合のオブザーバーの有効期間

オブザーバーがobserve_on(rxcpp::observe_on_new_thread())を使用している場合、すべてのオブザーバーon_completedが呼び出されるまで待機する適切な方法は何ですか:

例えば:

私の質問は、いくつかの変数を設定してポーリングすることなく、s1 の on_completed が完了するまで待機する方法です。

observe_on() を使用する動機は、通常、値には複数のオブザーバーがあり、各オブザーバーを同時に実行したいからです。おそらく、同じ目標を達成するためのさまざまな方法があるでしょう。私はあなたのすべての提案を受け入れます.

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

c++ - rxcpp によるスケジューリングとタイムアウト処理

私はrxcppを使用するのが初めてで、次のシナリオで何かを機能させようとしています:

別のソースからコマンドを取得するデータ ソースが 1 つあります。私が書いているコードは、これらのコマンドを rxcpp オブザーバブルに取得します。一定時間内にコマンドが受信されない場合、onNext の代わりにサブスクライバーの onError 関数が実行されるという特別な条件がありますが、タイムアウトは最初のコマンドを受信する前にのみ発生する可能性があります。最初のコマンドを受信した後、次のコマンドを受信するまでにどれだけ時間がかかっても、タイムアウトは発生しません。

私は次のようなものでこれを達成しようとしています:

私が抱えている問題は、タイムアウトが発生するずっと前にコマンドが挿入されたとしても、コマンドが受信される前にタイムアウトが発生することです。1000 ミリ秒から 5000 ミリ秒までのタイムアウトを試しましたが、違いはありません。ただし、タイムアウト コードを削除すると、コマンドはすぐに受信されます。ただし、rxcpp でスケジューラを使用する方法を単に誤解している可能性が高いと思われるので、これをどのように達成できるか疑問に思っています。

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

android - Android 用に rxcpp をコンパイルする

github から RxCpp をダウンロードし、CMakeLists.txt を次のように変更します (VS2015 でクロス プラットフォーム プロジェクトをビルドするために、Microsoft によって変更された CMake を使用します)。

次のコマンドで Project.sln ソリューションを作成しました。

次の目的で、CMake によってビルドされたプロジェクトを少し調整しました。

  1. C++11 のサポートを有効にする
  2. 例外を有効にする
  3. STL の使用 : GNU STL スタティック ライブラリ (gnustl_static)

次のコードを含む単純な cpp ファイルを追加しました。

プロジェクトがコンパイルされず、何百ものエラーが発生します。この行だけでコンパイルしようとすると:

すべて正常に動作します。私が行った場合

インテリセンスは、いくつかの方法を認識しているようです (あまり多くはありません)。何が起こっているのか分かりません。私は立ち往生しています。誰かが何を試すべきかについて何か提案がありますか? Android 用の RxCpp のコンパイルに成功した人はいますか?

//更新 - 2016 年 3 月 1 日

分析の結果、ほとんどのエラー メッセージはコンパイル エラーではなく、IntelliSense エラーに関連していることが判明しました。したがって、現在、ライブラリは正常にコンパイルされています。次のように、単純な c++ 関数を使用する単純な Xamarin アプリケーションをセットアップしました。

電話でコンパイルして展開すると、すべて正常に動作します(実際には「リアクティブ」コードが使用されていないとしても...)。問題は、次の行のコメントを外すときです。

その後、プログラムは正常にコンパイルされ (エラーなし)、libTest.so が生成されます (サイズはコメント行のあるバージョンのほぼ 2 倍になります) が、Test2() 関数が呼び出されるとすぐに次のようになります。

System.DllNotFOundException: libTest.so

adb.exe で確認したところ、実際には libTest.so が /data/data/"package_name"/lib/ の下に存在します。

どうしたの?

//更新 - 2016 年 6 月 1 日

最後に、問題を再現するレポを準備する時間を見つけました。

https://github.com/easysoft2k15/AndroidRxCppTest.git

私の疑いでは、何らかの理由で、アプリケーションをクラッシュさせる行を含めると、.so lib のサイズが特定の制限を超えて増加し、Android がそれをロードしなくなります。あなたの考えは非常に高く評価されます。

ありがとうございました

アレッサンドロ

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

c++ - 関数からの RXcpp ストリーム データを継続的に

私はC ++のリアクティブを学んでおり、ガイダンスを探しています。イベントを待ってから返す関数を作成しました。リアクティブ非同期で発生するすべてのイベントをキャッチし、発生したときにそれらを処理したいと考えています。これが私がこれまでに持っているものです:

エラーが発生したようです:関数テンプレート "rxcpp::observable::create" のインスタンスが引数リストに一致しません。ALLEGRO_EVENT を監視できるようにするには、独自のテンプレートまたは何かを作成する必要がありますか?

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

c++ - rxcpp - オブザーバブルが値を発行するときに、すべてのオブザーバーの on_next 関数が呼び出されないのはなぜですか

rxcpp の使用方法を理解しようとしています。私の印象では、オブザーバブルが値を発行すると、サブスクライブしているすべてのオブザーバーは、on_next() メソッドを呼び出して、発行された値を渡すことで通知を受け取ります。

これは、次の例には当てはまりません。

出力は次のようになると予想していました。

つまり、新しい値が渡されると、すべてのサブスクライブされたオブザーバーで on_next が呼び出されます。

代わりに、実際の出力は次のとおりです。