问题标签 [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.
c++ - C++ 中的 RxCpp 响应式扩展
我有一个 Win32 控制台应用程序,并且我已经导入了对 Rx 的引用。Intellisense 允许我这样做......
然后我有许多可用的类,例如 ISubject/Subject 和 IObserver/Observer。但是没有 IObservable。我对缺少 Cpp 的 Rx 文档感到有点担心。我是否缺少任何明显的资源?
我尝试过 Channel9、Google、Stackoverflow 和 Facebook 群组。这是我制作的工作 C# 代码,我想让它与 C++ 一起工作。这个函数合并了来自不同观察源的所有数据,并将其作为一个列表输出。
所以矩阵一从源一出现,矩阵二从源二出现。它们通过 id 匹配,并作为列表一起推送。
这里的任何帮助都会很好。找不到我想要的某些类,并且语法的其他方面有所不同。是否有任何资料或示例可以显示 C++ 中的工作方式。大概可以从这些推断出来。
这是该问题的原始帖子。
http://social.msdn.microsoft.com/Forums/en-US/58a25f70-a7b8-498b-ad7a-b57f3e1152da/rxcpp?forum=rx
我之前也尝试过在这里问,但没有任何回应。希望这会更有成果,现在我有更多关于我想要实现的目标的信息。
谢谢你。
c# - 创建一个可以在 RxCpp 中取消订阅的 Observable
我正在从 C# 中移植一些严重依赖 Rx 的代码,但我很难找到一些最常用的 C# 方法的 C++ 等效项。
特别是,我想从订阅/取消订阅逻辑创建一个 observable。在 C# 中,我使用Observable.Create<TSource> Method (Func<IObserver<TSource>, Action>)
覆盖来创建一个 observable。例如
是否可以对RxCpp做同样的事情?我认为答案在于rx::observable<>::create(OnSubscribe os)
方法,但我不知道如何使用它来“注册”退订 lambda。
c++ - RxCpp:观察者的生命周期,如果使用 observe_on(rxcpp::observe_on_new_thread())
如果观察者正在使用 observe_on(rxcpp::observe_on_new_thread()),等待所有观察者 on_completed 被调用的正确方法是什么:
例如:
我的问题是如何等到 s1 的 on_completed 完成而不必设置和轮询一些变量。
使用observe_on() 的动机是因为值上通常有多个观察者,我希望每个观察者同时运行。也许有不同的方法可以实现相同的目标,我愿意接受您的所有建议。
c++ - 使用 rxcpp 进行调度和超时处理
我不熟悉使用 rxcpp 并尝试在以下情况下将某些功能组合在一起:
我有一个数据源,它将从一个单独的源检索命令,我正在编写的代码会将这些命令检索到一个 rxcpp observable 中。它有一个特殊的条件,如果在一定时间内没有收到命令,订阅者会运行 onError 函数而不是 onNext,但超时只能发生在收到第一个命令之前。在接收到第一个命令后,无论它需要多长时间才能接收到任何进一步的命令,都不会发生超时。
我正在尝试通过以下方式完成此操作:
我遇到的问题是超时发生在收到任何命令之前,即使它们在超时发生之前很远。我已经尝试过从 1000 毫秒到 5000 毫秒的超时,这没有任何区别。但是,如果我删除超时代码,则会立即收到命令。我怀疑我很可能只是误解了如何在 rxcpp 中使用调度程序,所以我想知道如何实现这一点。
android - 为 Android 编译 rxcpp
我从github下载RxCpp,修改CMakeLists.txt如下(我使用微软修改的CMake,以便用VS2015构建跨平台项目):
使用以下命令创建了 Project.sln 解决方案:
我稍微调整了 CMake 构建的项目,以便:
- 启用对 C++11 的支持
- 启用例外
- STL 的使用:GNU STL 静态库 (gnustl_static)
我使用以下代码添加了一个简单的 cpp 文件:
项目无法编译并给出数百个错误。如果我只是尝试使用这一行进行编译:
一切正常。如果我做
智能感知似乎只是识别一些方法(不多)。我不清楚发生了什么。我被困住了。有人对尝试什么有一些建议吗?有人在为 Android 编译 RxCpp 方面取得了一些成功吗?
//更新 - 2016 年 3 月 1 日
经过一些分析,大多数错误消息不是编译错误,而是与智能感知错误有关。所以现在库编译成功。我设置了一个使用简单 c++ 函数的简单 Xamarin 应用程序,如下所示:
如果我在手机上编译和部署一切正常(甚至认为真的没有使用“反应性”代码......)。问题是当我取消注释以下行时:
然后程序编译正常(没有错误),生成了 libTest.so(大小几乎是注释行版本的两倍)但是一旦调用 Test2() 函数,我得到:
System.DllNotFOundException:libTest.so
我检查了 adb.exe,确实 libTest.so 存在于:/data/data/"package_name"/lib/
这是怎么回事?
//更新 - 2016 年 6 月 1 日
最后我找到了一些时间来准备一个重现问题的 repo:
https://github.com/easysoft2k15/AndroidRxCppTest.git
我的怀疑是,由于某些原因,当我包含使应用程序崩溃的行时,.so lib 的大小会增加超过一定限制,因此 Android 不再加载它。您的想法将不胜感激。
谢谢你
亚历山德罗
c++ - 使用 rxcpp 对函数进行分组?
我正在尝试了解 RxCpp(来自 Microsoft 的反应式扩展的本机 cpp 实现)的要点,以查看是否可以在项目中使用它,但我无法理解这些概念。
如果我有一个具有以下结构的可观察模板:
我将如何创建另一个包含按性别分组的可观察对象,其中包含所有事件的人数、最小年龄、最大年龄和平均年龄?
我查看了示例,但看不到如何一次获得多个聚合。
c++ - RXcpp 从函数连续流数据
我正在学习 C++ 的响应式,我正在寻找一些指导。我创建了一个函数来等待事件然后返回它。我想捕捉反应式异步发生的所有事件并在它们发生时处理它们。这是我到目前为止所拥有的:
我似乎得到了错误:没有函数模板实例 "rxcpp::observable::create" 与参数列表匹配。我是否需要制作自己的模板或其他东西才能观察到 ALLEGRO_EVENT?
c++ - rxcpp - 为什么当一个可观察对象发出一个值时不调用所有观察者的 on_next 函数
我试图了解如何使用 rxcpp,我的印象是,当一个 observable 发出一个值时,所有订阅的观察者都会通过调用他们的 on_next() 方法得到通知,并将发出的值传递给他们。
以下示例并非如此:
我希望输出类似于:
即当新值出现时,所有订阅的观察者都会调用 on_next。
相反,输出实际上是:
c++ - rxcpp:嵌套的while循环或类似的“经典”程序命令结构
我有一个可以传输一些事件的设备。我想使用响应式扩展来模拟以下行为:
- 检测用户何时连接加密狗(我的程序检查加密狗连接的事件)。
- 连接加密狗后开始从加密狗捕获数据流。
- 能够检测到加密狗何时断开并返回到 1.,稍后如果用户再次连接加密狗,我想转到 2. 在我流式传输数据的状态下,如果键盘被击中,则程序结束。
我知道如何等待加密狗连接(1.):
而且我知道如何捕获流(2.):
我的问题是我不知道如何组合流以回到 1. 和稍后 2. 我只知道如何按顺序执行此操作。但我想要上述行为。