#include "rxcpp/rx.hpp" #include "rxcpp/rx-test.hpp" #include "catch.hpp" SCENARIO("repeat sample"){ printf("//! [repeat sample]\n"); auto values = rxcpp::observable<>::from(1, 2). repeat(). take(5); values. subscribe( [](int v){printf("OnNext: %d\n", v);}, [](){printf("OnCompleted\n");}); printf("//! [repeat sample]\n"); } SCENARIO("repeat count sample"){ printf("//! [repeat count sample]\n"); auto values = rxcpp::observable<>::from(1, 2).repeat(3); values. subscribe( [](int v){printf("OnNext: %d\n", v);}, [](){printf("OnCompleted\n");}); printf("//! [repeat count sample]\n"); } SCENARIO("repeat error sample"){ printf("//! [repeat error sample]\n"); auto values = rxcpp::observable<>::from(1, 2). concat(rxcpp::observable<>::error(std::runtime_error("Error from source"))). repeat(); values. subscribe( [](int v){printf("OnNext: %d\n", v);}, [](std::exception_ptr ep){ try {std::rethrow_exception(ep);} catch (const std::exception& ex) { printf("OnError: %s\n", ex.what()); } }, [](){printf("OnCompleted\n");}); printf("//! [repeat error sample]\n"); }