ReactivePlusPlus
ReactivePlusPlus copied to clipboard
Refactor disposables
Related to: #666 Attempt to make disposables-related logic a bit more clear:
- user's observer HAVE to has preferred_disposable_mode enum variable to define it's preferred mode: auto, external or none
- observable HAVE to has optimal_disposable_strategy typename to provide optimal strategy for passed callbacks/observers
- chain operator HAVE to has updated_optimal_disposable_strategy typename to provide optimal strategy for passed callbacks/observers with respect to previous disposable_strategy
Summary by CodeRabbit
-
Documentation
- Expanded and refined documentation on Reactive Programming, including core concepts, operators, and resource management.
- Introduced a new memory model concept for better performance and efficiency.
-
New Features
- Added new static constants for preferred disposable modes in various observer strategies.
- Introduced new type aliases for optimal disposable strategies across different classes.
-
Bug Fixes
- Updated method signatures to improve disposable handling in observers.
-
Refactor
- Renamed and restructured several classes and type aliases for consistency and clarity in disposable management.
- Enhanced the naming conventions related to disposables for better alignment across the codebase.
- Simplified the class hierarchy for disposable management.
- Updated the default container type for managing disposables in the composite disposable class.