summaryrefslogtreecommitdiff
path: root/Rx/v2
AgeCommit message (Collapse)Author
2022-09-01Remove RxCpp, which is no longer used.HEADmastermainElliott Hughes
Do not necromance this without going through the go/android-3p process again. Test: treehugger Change-Id: Id813d74d7d2597e0636b925430117c94bea3fa5a
2019-11-11observable: Fix dangling use in #as_blockingIgor Murashkin
Using rxcpp::subscriber by-reference in a lambda in the as_blocking operator would occasionally cause #on_error to crash in std::shared_ptr::get Bug: 143900063 Change-Id: Ie5b06b1c7872b08f256af569b408ea987d80fae7
2019-11-11schedulers: Fix std::thread clean-up race in newthreadIgor Murashkin
In rare situations the old lifetime.add callback would cause std::system_error to be thrown after unsubscribing due to the std::thread being non-joinable. Bug: 143745681 Change-Id: If64f3eef678ba5246baaca5be06e9d13c799922c
2019-02-20operators: Add ref_count(other) operator overload.android-q-preview-6android-q-preview-5android-q-preview-4android-q-preview-2.5android-q-preview-1Igor Murashkin
The existing `connectable_observable.ref_count()` operator calls connect on the source when it's subscribed to. Generalize this by allowing an optional parameter `other`, i.e. `observable.ref_count(connectable_observable other)` to be used as the connect target. Useful for implementing diamond graphs while retaining composability: ``` A / \ B C \ / D | E auto A = ... | publish(); auto B = A | ...; auto C = A | ...; auto D = B | merge(C) | ref_count(A); auto E = D | ...; E | subscribe(...); ``` Resolves: https://github.com/ReactiveX/RxCpp/issues/484 Pull request: https://github.com/ReactiveX/RxCpp/pull/485 (Need to merge this into AOSP now because it's blocking an android change). (cherry picked from commit 77a5b21ac18d4e42a8402176a9b3baf583b7414e) Change-Id: I9139dbce2c3b0ba4f4ca59b8300d2b4ceaef4855
2019-02-12rxcpp: Fix data race in composite_subscriptionIgor Murashkin
composite_subscription_inner had missing checks which could lead to add/remove/clear racing against unsubscribe. (See the issue for more details). Fixes: #475
2019-02-11Fix 'Wcatch-value'.Björn Esser
This warning is reported by GCC 9.
2018-10-28fixes for replay and moved-from container not being emptyKirk Shoop
2018-10-27Add support for compiling rxcpp with -fno-exceptions (#456)iam
* Minor compilation/test fixes for compiling on android Change-Id: Id623455d32e9323355744a240c2813d0411d1dac * Rx: Add support for compiling code without exceptions (-fno-exceptions) std::exception_ptr usage is replaced with rxcpp::util::error_ptr which will typedef to std::exception_ptr when exceptions are enabled. When exceptions are disabled this will typedef to an internal error type that can retain the "what" error message. Additionally std::current_exception() and similar usages are replaced with rxu::current_exception which uses error_ptr instead. Lastly all try/catch/throw keywords are replaced with either RXCPP_TRY, RXCPP_CATCH, rxu::throw_exception or similar. Note that try/catch/throw keywords cause a compilation error with -fno-exceptions. Trying to access most of the std::*exception* functions will call std::terminate at runtime. Tests using exceptions must be disabled by passing --nothrow to the check2 test runner. Change-Id: I0b95ae2e323653a17c3b733d165ecf87a014c315 * update to catch2 and add RX_USE_EXCEPTIONS cmake option * fix bugs in doxygen examples * replace [[noreturn]] with RXCPP_NORETURN * removes support for VS 2013
2018-10-19Fix doc target missing declarations errorsGeorg Sauthoff
Building the docs (e.g. with `ninja doc`) failed with GCC (e.g. GCC 7.3 under Fedora 27) with some missing declaration errors. Example: ../Rx/v2/examples/doxygen/main.cpp:7:13: error: no previous declaration for ‘std::__cxx11::string get_pid()’ [-Werror=missing-declarations] Thus, this change adds a shared declaration for `get_pid()` that is included by all users/the file where it's defined such that accidental deviation in the signature are immediately noticed (as compile error). Similarly, the visibility of the example `less()` is changed to static as it's only locally used. With those changes the doc target succeeds again.
2018-08-05fix blocking_observable::subscribeKirk Shoop
removes spinning from blocking submit. ran all perf tests on osx without issue. should fix #430 and help with #451
2018-07-10adding test for nocompare observe_on (#448)Kirk Shoop
* adding test for nocompare observe_on notification uses SFINAE to compile for value_types that do not have operator== * use as_dynamic to avoid vc 2013 bug
2018-07-10group_by support DurationSelector (#447)Diorcet Yann
* group_by support DurationSelector * remove unused names
2018-07-08Remove static from observe_on_run_loopAndrei Lebedev
- Different run loops can be used with factory calls
2018-05-11Replace commented out noexcept with macroAndrei Lebedev
2018-05-11Replace shared_ptr with move ctorAndrei Lebedev
2018-05-11Fix exit_recursed_scope_type dtor cleaning requestor earlyAndrei Lebedev
2018-05-10Remove unused variable and captures in doxygen/buffer.cppAndrei Lebedev
2018-05-03Fix '-Wignored-qualifiers'Björn Esser
2017-12-13Add: Skip_while operator (#418)Martin Kodovský
* #378 adding skip_while operator * #378 adding tests + fixing CMakeLists.txt * #378 test completion * #378 fix includes * #378 fix assignment in a condition * #378 fix assignment in a condition 2
2017-12-09Add rx-merge-delay-error operator (#417)Martin Kodovský
* Add rx-merge-delay-error operator * fix of msvc2013 compilation * fix #417 comments Added RXCPP_NOEXCEPT macro; Added doxygen scenarios for composite_exception and merge_delay_error; Fixed composing exception in merge_delay_error operator; Modified test for merge_delay_operator * #417 fix composite_exception example * #417 fix merge_delay_error doxygen example * fix: samples add among others in project doxygen CMakeLists.txt * fix: composite_exception.cpp example
2017-09-16Fix rxcpp::observable<>::range<T>() when T is unsigned typeAndrei Lebedev
2017-09-16Fix rxcpp::observable<>::from<T>() when T is non-default constructableAndrei Lebedev
2017-09-13remove unused localKirk Shoop
2017-09-13Fix clang-trunk -Wunused-lambda-capture warningsEric Niebler
2017-09-01shutdown event loop threads (#394)Kirk Shoop
attempt to fix #393 use event_loop lifetime to unsubscribe from new_thread workers tested with all the perf tests, but messing with thread lifetime can break existing code.
2017-07-24Typo in rx-never documentationDaniel Rees
changed "rx-naver.hpp" to "rx-never.hpp"
2017-07-21std::unexpected has been deprecatedKirk Shoop
2017-07-14fix timeout when no items are emitted (#387)Grigoriy Chudnov
2017-06-15disambiguate onerror from onnext (#383)Kirk Shoop
2017-06-05Add get_subscription() for subject (#381)ZINEKS
2017-04-26subscribe in reverse order to observables (#375)Michael Maier
2017-04-10fix async lifetime in window_toggle (#372)Kirk Shoop
2017-04-10Kirkshoop/filterimprovement (#371)Kirk Shoop
* filter: mutable predicate and value forwarding * add as_const to protect predicate from stealing
2017-04-09fixed https://github.com/Reactive-Extensions/RxCpp/issues/366Anatoly Shirokov
2017-02-25Factor out commonalities between repeat and retry into a separate file (#363)elelel
This reverts commit ad430c5bae364cf267f2b4a5cab703eb5672afbe. * Retry operator: remove old comment * Complete the error-reporting templates rollback * Rename retry/repeat common file * Fix filename in doxygen comment block
2017-02-24Retry operator argument semantics fix (#362)elelel
* Fix retry operator's argument semantics * Rephrase comments in tries parameter desc
2017-02-23Retry: subscription lifetime; repeat: generic naming (#360)elelel
2017-02-24fix iterator_type::value_type errorKirk Shoop
#355 reported that range-v3 ranges failed due to an errant `&` in the `iterator_type`
2017-02-23Retry(0)/Retry() operator fix (#358)elelel
* Change retry description to conform with other Rx implementations * Retry operator common state * Repeat operator: finite case * Retry operator: infinite case * Fix misc dev-stage errors * Retry: tests and fixes
2017-02-20Work-around for VS2017RC error C2672 building doc (#357)aargor
When building RxCPP with the latest VS2017 RC, the compiler emits error C2672 on compiling a method. There was some off-line discussion (Kirk Shoop was included) about the legitimacy of the error. In either case, I'd anticipate that the error could hit in VS2017RTW, so I'm offering this PR. The change is very targeted -- a natural question is if this error could arise in the methods around retry. For that and further discussion, I have to point you to my colleagues participating in the off-line discussion; for this particular patch all I could do was confirm the latest RC still needs it to build.
2017-02-20Rewrite repeat operator to handle 0 case correctly and not rely on magic ↵elelel
numbers (#356) * Sketch interface for finite/inifinite variants * CRTP deriving finite/infinite from base * Fully rewrite repeat implementation * Fix description and comments in repeat * Test repeat(0) case * Make 0 handling with completion when the input sequence complete * Return immidiately empty sequence instead on first on_completed * Return immidiately empty sequence instead on first on_completed * Update param description for repeat 0 case * repeat(0): never call on.next(), but call on.completed() * Test: no subscriptions are made when repeat(0)
2017-02-14Update rx-includes.hppfreezestudio
vector include in #line144
2017-02-07test has_observers()Kirk Shoop
2017-02-03move sources docs out of observableKirk Shoop
shift tests to include aliases
2017-02-01add aliases and fix docsKirk Shoop
added aliases for some operators transform (map) merge_transform (flat_map) concat_transform (concat_map) switch_on_error (on_error_resume_next) accumulate (reduce)
2017-01-31doc updateGrigoriy Chudnov
2017-01-28decouple ref_count from connectable_observableGrigoriy Chudnov
2017-01-27decouple connect_forever from connectable_observableGrigoriy Chudnov
2017-01-26decouple publish, publish_synchronized, multicast from observable (#338)Grigoriy Chudnov
* decouple publish, publish_synchronized, multicast from observable * decouple publish, publish_synchronized, multicast from observable - restore include structure
2017-01-26Add callback for when a task is added to a run-loop schedule (#337)Stuart Dootson
* Add callback for when a task is added to a run-loop schedule * Provide wakeup time in 'new task' callback Modified callback to provide new wakeup time as a callback parameter, so that it can schedule an event to wake the thread owning the run loop, rather than (as was the case) having to iterate through the dispatch loop.