gpt4 book ai didi

c++ - RXCPP:做一个不关心可观察对象输入类型的扩展

转载 作者:太空宇宙 更新时间:2023-11-04 12:58:40 26 4
gpt4 key购买 nike

我希望创建一个扩展函数,它不关心它接收到的可观察对象的类型。

例如:

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; });
}
};

关于c++ - RXCPP:做一个不关心可观察对象输入类型的扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45344895/

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