チュートリアル2
さらに簡単な例
#include <rxcpp/rx.hpp> rxcpp::observable<std::string> twice(std::string word) { return rxcpp::observable<>::just(word + word); } rxcpp::observable<int> length(std::string word) { int l = (int)word.length(); return rxcpp::observable<>::just(l); } rxcpp::observable<std::string> times(std::string word, int times) { auto r = word; for (int i=0;i<times;i++) { r = r + word; } return rxcpp::observable<>::just(r); } void useRxCpp() { auto ob = rxcpp::observable<>::just("poi") .flat_map([=](std::string word){ return length(word); }).as_dynamic() .flat_map([=](int length){ return times("hoge", length); }).as_dynamic() .flat_map([=](std::string word) { return twice(word); }).as_dynamic(); ob.subscribe([=](std::string word) { std::cout << word << std::endl; }); }