Reactive programming and Qt
summary
Converts Qt signals and slots into composable reactive streams using Qt UI mouse events as the demo source, applies range-v3 / Boost.Range style transformations (map, filter) without intermediate containers, composes asynchronous work with futures that support .then continuations, and adds stateful operators (a gravity object) plus a flat_map interpolation to generate missing mouse positions. Implementation notes: namespace Stream with a bind operator, variadic templates for fork/tee, targets C++11/14 idioms and C++17 range features, uses Boost/Folly/qfuture examples for real-world async composition.
AI-written summary · about
chapters (16)
- 0:00Introduction and background
- 1:04What is reactive programming
- 3:51Signals and slots in Qt
- 7:00Functional programming and state
- 9:54Futures and continuations
- 12:43Ranges and STL algorithms
- 17:03Streams in reactive programming
- 23:59Demo: Mouse cursor tracking
- 33:17State and mutability in streams
- 36:11Filtering and flat map
- 39:14Advanced stream transformations
- 42:11Further reading and resources
- 49:38C++ and functional programming
- 54:42Synchronization in streams
- 56:10Amdahl's law and bottlenecks
- 57:17Q&A and closing remarks
related talks
05mQt Signals and the Coroutines TS
38m2017 DevFestMN Dan Lew
32mThirst-Quenching Streams for the Reactive Mind
01h 10m“Reactive Stream Processing in Industrial IoT using DDS and Rx.cpp”
01h 01mThirst Quenching Streams for the Reactive Mind
56mThirst-quenching Streams for the Reactive Mind
49mThirst Quenching Streams for the Reactive Mind
46mStreams, effects and beautiful folds, a winning trilogy
