| 7 | **/ |
| 8 | |
| 9 | int main() // NOLINT(bugprone-exception-escape) |
| 10 | { |
| 11 | //! [defer from_iterable] |
| 12 | rpp::source::defer([] { |
| 13 | std::cout << "Observable factory called\n"; |
| 14 | return rpp::source::from_iterable(std::array{ 1,2,3 }); }) |
| 15 | .subscribe([](int v) { std::cout << v << "\n"; }, rpp::utils::rethrow_error_t{}, []() { std::cout << "On complete\n"; }); |
| 16 | // Output: Observable factory called |
| 17 | // 1 |
| 18 | // 2 |
| 19 | // 3 |
| 20 | // On complete |
| 21 | //! [defer from_iterable] |
| 22 | |
| 23 | //! [defer mutable source] |
| 24 | auto obs = rpp::source::defer([] { |
| 25 | std::cout << "Observable factory called\n"; |
| 26 | const auto state = std::make_shared<int>(0); |
| 27 | auto inner_obs = rpp::source::create<int>([state](const auto& obs) { |
| 28 | obs.on_next((*state)++); |
| 29 | obs.on_completed(); |
| 30 | }); |
| 31 | return inner_obs; |
| 32 | }); |
| 33 | obs.subscribe([](int v) { std::cout << v << "\n"; }, rpp::utils::rethrow_error_t{}, []() { std::cout << "On complete\n"; }); |
| 34 | obs.subscribe([](int v) { std::cout << v << "\n"; }, rpp::utils::rethrow_error_t{}, []() { std::cout << "On complete\n"; }); |
| 35 | // Output: Observable factory called |
| 36 | // 0 |
| 37 | // On complete |
| 38 | // Observable factory called |
| 39 | // 0 |
| 40 | // On complete |
| 41 | //! [defer mutable source] |
| 42 | } |
nothing calls this directly
no test coverage detected