首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rxcpp简单observable<int>

rxcpp简单observable<int>
EN

Stack Overflow用户
提问于 2017-02-26 14:47:37
回答 1查看 970关注 0票数 3

我在C#中使用RX编程,现在我希望在c++中使用rxcpp编程。我试图做最简单的事情,定义observable<int>的类成员变量。

问题是observable被定义为:

代码语言:javascript
复制
template<class T, class SourceOperator>
class observable

什么是SourceOperator

如何定义一个简单的observable<int>

查看代码时,请访问RX-viewable.hpp(第101行):

代码语言:javascript
复制
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和Metaprogramming相当精通.很明显,兔子洞会更深:-

更新1:

observale<T>已被发现:-) its在RX-predef.hpp中:

代码语言:javascript
复制
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的语法允许从“装饰师”图案 (编译时修饰)中的其他可观察类型中组合创建可观察类型。类似于典型的这里

EN

回答 1

Stack Overflow用户

发布于 2017-08-13 16:18:43

observale<T>已被发现:-) its在RX-predef.hpp中:

代码语言:javascript
复制
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的语法允许从“装饰师”图案 (编译时修饰)中的其他可观察类型中组合创建可观察类型。类似于典型的这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42469906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档