aboutsummaryrefslogtreecommitdiffstats
path: root/Rx/v2/examples/doxygen
diff options
context:
space:
mode:
authorValery Kopylov <v-valkop@microsoft.com>2015-06-02 18:09:09 +0300
committerValery Kopylov <v-valkop@microsoft.com>2015-06-09 13:00:55 +0300
commit7f9b44a512182cea0883b989ef3980fda48df5e4 (patch)
tree0fe0cecffa2c9ac5351cb393af348b1b1e553c32 /Rx/v2/examples/doxygen
parenta9a4aea066ed833a569559d3662dca82af4d9a32 (diff)
downloadplatform_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.cpp92
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");
+}