diff options
author | Valery Kopylov <v-valkop@microsoft.com> | 2015-06-02 18:09:09 +0300 |
---|---|---|
committer | Valery Kopylov <v-valkop@microsoft.com> | 2015-06-09 13:00:55 +0300 |
commit | 7f9b44a512182cea0883b989ef3980fda48df5e4 (patch) | |
tree | 0fe0cecffa2c9ac5351cb393af348b1b1e553c32 /Rx/v2/examples/doxygen | |
parent | a9a4aea066ed833a569559d3662dca82af4d9a32 (diff) | |
download | platform_external_Reactive-Extensions_RxCpp-7f9b44a512182cea0883b989ef3980fda48df5e4.tar.gz platform_external_Reactive-Extensions_RxCpp-7f9b44a512182cea0883b989ef3980fda48df5e4.tar.bz2 platform_external_Reactive-Extensions_RxCpp-7f9b44a512182cea0883b989ef3980fda48df5e4.zip |
Rethrow source exceptions on blocking_observable aggregate methods
+add docs for them
Diffstat (limited to 'Rx/v2/examples/doxygen')
-rw-r--r-- | Rx/v2/examples/doxygen/blocking_observable.cpp | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/Rx/v2/examples/doxygen/blocking_observable.cpp b/Rx/v2/examples/doxygen/blocking_observable.cpp new file mode 100644 index 0000000..eb3dc30 --- /dev/null +++ b/Rx/v2/examples/doxygen/blocking_observable.cpp @@ -0,0 +1,92 @@ +#include "rxcpp/rx.hpp" + +#include "rxcpp/rx-test.hpp" +#include "catch.hpp" + +SCENARIO("blocking first sample"){ + printf("//! [blocking first sample]\n"); + auto values = rxcpp::observable<>::range(1, 3).as_blocking(); + auto first = values.first(); + printf("first = %d\n", first); + printf("//! [blocking first sample]\n"); +} + +SCENARIO("blocking first empty sample"){ + printf("//! [blocking first empty sample]\n"); + auto values = rxcpp::observable<>::empty<int>().as_blocking(); + try { + auto first = values.first(); + printf("first = %d\n", first); + } catch (const std::exception& ex) { + printf("Exception: %s\n", ex.what()); + } + printf("//! [blocking first empty sample]\n"); +} + +SCENARIO("blocking last sample"){ + printf("//! [blocking last sample]\n"); + auto values = rxcpp::observable<>::range(1, 3).as_blocking(); + auto last = values.last(); + printf("last = %d\n", last); + printf("//! [blocking last sample]\n"); +} + +SCENARIO("blocking last empty sample"){ + printf("//! [blocking last empty sample]\n"); + auto values = rxcpp::observable<>::empty<int>().as_blocking(); + try { + auto last = values.last(); + printf("last = %d\n", last); + } catch (const std::exception& ex) { + printf("Exception: %s\n", ex.what()); + } + printf("//! [blocking last empty sample]\n"); +} + +SCENARIO("blocking count sample"){ + printf("//! [blocking count sample]\n"); + auto values = rxcpp::observable<>::range(1, 3).as_blocking(); + auto count = values.count(); + printf("count = %d\n", count); + printf("//! [blocking count sample]\n"); +} + +SCENARIO("blocking sum sample"){ + printf("//! [blocking sum sample]\n"); + auto values = rxcpp::observable<>::range(1, 3).as_blocking(); + auto sum = values.sum(); + printf("sum = %d\n", sum); + printf("//! [blocking sum sample]\n"); +} + +SCENARIO("blocking sum empty sample"){ + printf("//! [blocking sum empty sample]\n"); + auto values = rxcpp::observable<>::empty<int>().as_blocking(); + try { + auto sum = values.sum(); + printf("sum = %d\n", sum); + } catch (const std::exception& ex) { + printf("Exception: %s\n", ex.what()); + } + printf("//! [blocking sum empty sample]\n"); +} + +SCENARIO("blocking average sample"){ + printf("//! [blocking average sample]\n"); + auto values = rxcpp::observable<>::range(1, 3).as_blocking(); + auto average = values.average(); + printf("average = %d\n", average); + printf("//! [blocking average sample]\n"); +} + +SCENARIO("blocking average empty sample"){ + printf("//! [blocking average empty sample]\n"); + auto values = rxcpp::observable<>::empty<int>().as_blocking(); + try { + auto average = values.average(); + printf("average = %d\n", average); + } catch (const std::exception& ex) { + printf("Exception: %s\n", ex.what()); + } + printf("//! [blocking average empty sample]\n"); +} |