我希望创建一个不关心它收到的可观察量的扩展函数。
例如:
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; });
}
};