问题标签 [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 投票
1 回答
794 浏览

c++ - 如何在自定义 rxcpp 运算符上调用 on_error

我创建了一个简单的 rx 运算符,它将字符串流转换为 jsons 流,它工作正常。但是,我希望能够引发自定义异常,但我不确定如何调用on_error订阅的方法

调用运算符convertStringToJson,可以在此处找到工作示例:https ://github.com/cipriancaba/rxcpp-examples/blob/master/src/SimpleOperators.cpp

0 投票
1 回答
171 浏览

c++ - 如何在 rxcpp 自定义运算符中正确推断泛型

我创建了一个名为的自定义 rxcpp 运算符validateImplementation,它应该简单地采用通用的可观察流,对 进行一些验证,SimpleInterface然后根据特定条件继续或结束流(在我的情况下,条件whatsMyId

https://github.com/cipriancaba/rxcpp-examples/blob/master/src/SimpleOperators.cpp

但是,当尝试使用 中的validateImplementation方法时main.cpp,出现以下错误:

no matching member function for call to 'validateImplementation'

note: candidate template ignored: couldn't infer template argument 'T'

你能帮我理解我做错了什么吗?

0 投票
1 回答
440 浏览

c++ - llvm 错误:尚未实施重定位!在 orcjit 或 lli 中运行 RxCpp 时

我想在 llvm 的 IR 解释器中运行 RxCpp 示例lli

不幸的是,在 lli 中运行任何 RxCpp 示例都失败了:

错误信息:

问题:

这个错误到底是什么意思?- llvm 的 orc-jit 中有哪些不满足的假设?

有解决方法吗?- 我可以应用任何 LLVM-IR 转换来完成这项工作(例如,通过编译器标志)?

RxCpp 使用了哪些特殊功能导致 llvm 的 orcjit 出现此问题?

测试:

0 投票
1 回答
1202 浏览

c++ - 传递给 lambda 函数的空指针不再为空

我尝试传递一个空指针作为对 lambda 函数的引用,但它会接收一个内存地址而不是保持为空。

知道如何传递该指针以使其保持为 null 吗?

0 投票
1 回答
866 浏览

c++ - rxcpp 简单可观察

我在 C# 中使用 RX 进行编程,现在我希望在 C++ 中使用 rxcpp 进行编程。我正在尝试做最简单的事情,定义一个类成员变量observable<int>
问题是observable定义为:

是什么SourceOperator
我如何定义一个简单的observable<int>

查看代码时,在 rx-observable.hpp(第 101 行):

我找到observale<T>作为返回类型,但找不到它的定义。
太奇怪了。老实说,虽然我非常精通 c++11\14 和元编程......显然兔子洞可以变得更深:-(

更新 1:
observale<T>已找到 :-) 它在 rx-predef.hpp 中:

好的,我目前的猜测是,这dynamic_observable意味着“常规”observable<T>是 T 的动态、类型擦除流。这是合乎逻辑的,因为您只能将类型擦除流作为具有显式类型的变量。
是什么让我想到了下一个猜测,即template<class T, class SourceOperator> class observable启用创建可观察类型的语法与“装饰器”模式中的其他可观察对象组合(编译时装饰)。像这里举例的东西

0 投票
1 回答
1744 浏览

c# - 使用 RxCpp 构造 Observer/Observable 模式

我正在尝试observer/observableRx-cpp. 这是一个非常有趣的教程Rx.Net介绍了如何做到这一点。

在此C#示例中interfaces,我们必须覆盖特定的内容:

据我了解,在Rx-cpp没有这样的方便。那么,是否可以为我提供一些类似于上面的标题示例( myObservable.h/ ),我可以将其用作定义相同通信模式的指导? myObserver.hinterfaces

任何帮助都非常感谢,谢谢!

编辑 1: 感谢@zentrunix,我正在尝试进行面向课堂的交流。到目前为止,我有以下可观察模式的代码。我想要的是定义一个观察者列表,这些观察者将我附加到可观察对象中,并且当OnNext调用这些观察者时,应该通知这些观察者。但是,有缺失的部分。

  1. 当一个函数被调用时,我怎么能subscribe()在那些观察者( )上。Rx::subscribers<int>myObservable::Subscribe()
  2. 还有我怎么能unsubscribe()
  3. 最后,o.subscribe(onNext, onEnd);多个onNext观察者的对应关系如何?是否有可能构造一个相应的myObserver类?(再次受到这里的启发)
  4. 抱歉问,但这样的组织有意义吗?到目前为止,我一直在使用本教程中提供的架构,这就是我痴迷于这项任务的原因。我发现这是参与RxCpp. 任何意见都受到高度赞赏。(再次为我的无知感到抱歉。)

    /li>
0 投票
1 回答
500 浏览

c++ - 如何在 rxcpp 中处理请求/响应流

我需要在 rxcpp 中实现一个摄像头采样系统。我想象的方式是将 requestStream 作为参数传递并接收 responseStream

每次调用 requestSample 时,都会创建一个新的摄像头会话,当为 requestStream 调用 on_complete() 时,摄像头会话会终止

这里的问题是,在requestStream$.subscribe(request_next..被调用的时候,我得到了一个 EXC_BAD_ACCESS

0 投票
1 回答
679 浏览

c++11 - RXCPP:阻塞功能超时

考虑一个阻塞函数: this_thread::sleep_for(milliseconds(3000));

我正在尝试获得以下行为:

我想触发阻塞功能,如果它需要太长时间(超过两秒),它应该超时。

我做了以下事情:

我不能让它工作。对于初学者,我认为 s 不能从不同的线程 on_next 。

所以我的问题是,这样做的正确反应方式是什么?如何在 rxcpp 中包装阻塞函数并为其添加超时?

随后,我想获得一个行为如下的 RX 流:

0 投票
1 回答
480 浏览

rxjs - RX - 如何以高效的方式使用它?

我试图了解如何构建我的程序以在性能问题中使用 RX。
我的应用程序在 3D 世界中有一个对象向量。每个对象占据一个盒子,并有一个“命中”流,代表鼠标悬停在它上面。
我想到了如何构建的两个选项:

选项1

选项 2

现在的问题是如何将 hit 函数的结果链接到 object_t::hit 流。
我看到两种方法:

  1. 选项 1 功能齐全,但性能很差,因为对于每个鼠标点,所有对象流都需要计算它们的值。
  2. 选项 2. 功能不完整,因为我使用 subject 以命令的方式将值送到正确的流。性能非常好,因为只有正确的(两个)对象命中流才会触发。

注意: 实现在 rxcpp 中,但它适用于我们在其中包含 RX 的任何语言,或一般 FRP 范例,这就是为什么我标记 rxjs\rx.net\frp 等
提前感谢 :-)

0 投票
1 回答
72 浏览

c++ - RXCPP:做一个不关心 observable 输入类型的扩展

我希望制作一个不关心它接收到的可观察类型的扩展函数。

例如:

如果可能,我希望能够在不指定模板的情况下调用此方法。

例如:

我想这更像是一个 c++ 问题而不是 rxcpp 问题。这可能吗?