RXCPP:创建一个不关心可观察量输入类型的扩展



我希望创建一个不关心它收到的可观察量的扩展函数。

例如:

template <typename T>
inline auto makeones() -> function<observable<int>(observable<T>)>
{
return [=](observable<T> s) {
return s | rxo::map([=](auto x) { return 1; }) 
};
}

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

例如:

stream | makeones() 

而不是

stream | makeones<myType>()

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

您可以将结构与模板方法一起使用:

struct makeones {
template <typename Observable>
inline observable<int> operator()(Observable s) {
return s | rxo::map([=](typename Observable::value_type x) { return 1; });
}
};

相关内容

  • 没有找到相关文章