Chapter 12. Advanced Streams and Handling Errors
In this book, we have covered quite a bit of ground in explaining modern C++ techniques and the RxCpp library. We started with a set of prerequisites for undertaking reactive programming using C++. The first six chapters were mostly about prerequisites and getting acclimatized with the features that are embodied in functional reactive programming in general, and in the RxCpp library in particular. We have used the term functional reactive programming in a loose sense—we are leveraging functional programming techniques to write reactive programs. Some purists differ from us on this. They do not consider the Rx family of libraries to be a complete implementation of functional reactive programming. The biggest shift a programmer has to undergo is the mindset change to adopt a declarative programming paradigm.
Traditionally, we design elaborate data structures, and write algorithms upon those data structures, to write our programs. This is appropriate...