gpt4 book ai didi

c++ - rxcpp 简单可观察

转载 作者:太空狗 更新时间:2023-10-29 22:57:51 41 4
gpt4 key购买 nike

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

template<class T, class SourceOperator>
class observable

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

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

template<class T, class Source>
observable<T> make_observable_dynamic(Source&& s) {
return observable<T>(dynamic_observable<T>(std::forward<Source>(s)));
}

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

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

template<class T = void,
class SourceObservable = typename std::conditional<std::is_same<T,void>::value,
void,
dynamic_observable<T>>::type>
class observable;

好的。我目前的猜测是 dynamic_observable表示“常规”observable<T>是 T 的动态类型删除流。这是合乎逻辑的,因为您只能将类型删除流存储为具有显式类型的变量。
是什么让我想到下一个猜测,template<class T, class SourceOperator> class observable 的语法允许创建与 'decorator' pattern 中其他可观察对象相结合的可观察类型(编译时装饰)。像例子一样的东西 here

最佳答案

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

template<class T = void,
class SourceObservable = typename std::conditional<std::is_same<T,void>::value,
void,
dynamic_observable<T>>::type>
class observable;

dynamic_observable表示 observable<T>这是一个动态的、类型删除的 T 流。这是合乎逻辑的,因为您只能将类型删除流存储为具有显式类型的变量。
template<class T, class SourceOperator> class observable 的语法允许创建与 'decorator' pattern 中其他可观察对象相结合的可观察类型(编译时装饰)。像例子一样的东西 here

关于c++ - rxcpp 简单可观察<int>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42469906/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com