Я программирую с 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
включить создание наблюдаемого типа в сочетании с другими наблюдаемыми в шаблон ‘декоратор’ (время компиляции). что-то вроде примера Вот
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
включить создание наблюдаемого типа в сочетании с другими наблюдаемыми в шаблон ‘декоратор’ (время компиляции). что-то вроде примера Вот
Других решений пока нет …