rxcpp простой наблюдаемый<int>
Я программирую с RX на C#, и теперь я хочу программировать с RXCpp на C++. Я пытаюсь сделать самую простую вещь, определить переменную члена класса observable<int>
,
Проблема в том, что observable
определяется как:
template<class T, class SourceOperator>
class observable
Что такое SourceOperator
?
Как определить простое observable<int>
?
При просмотре кода, в rx-observable.hpp(строка 101):
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 и метапрограммировании... очевидно, кроличья нора может стать намного глубже:-(
Обновление 1:observale<T>
был найден:-) его в rx-priorf.hpp:
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 ответ
observale<T>
был найден:-) его в rx-priorf.hpp:
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
включить создание наблюдаемого типа в сочетании с другими наблюдаемыми в шаблоне декоратора (декорация времени компиляции). что-то вроде примера здесь