我正在从 C# 中移植一些严重依赖 Rx 的代码,但我很难找到一些最常用的 C# 方法的 C++ 等效项。
特别是,我想从订阅/取消订阅逻辑创建一个 observable。在 C# 中,我使用Observable.Create<TSource> Method (Func<IObserver<TSource>, Action>)
覆盖来创建一个 observable。例如
var observable = Observable.Create<int>(observer =>
{
observers.Add(observer);
return () =>
{
observers.Remove(observer)
};
});
是否可以对RxCpp做同样的事情?我认为答案在于rx::observable<>::create(OnSubscribe os)
方法,但我不知道如何使用它来“注册”退订 lambda。