You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current implementation is really good and fast BUT it does a lot of unnecessary heap allocations AND a lot of unnecessary moves/copies while it is not needed. Need to change architecture to eliminate unnecessary copies/moves
use rvalue while possible
subscription -> disposable. Not observer owns subscription and tracks ITS correctness, but observable provides disposable and tracks observable's correctness
observer is not copyable at all
Make RPP v2 as ZERO OVERHEAD library
Implementation status
Fundamentals
Observables
Specific Observable (was in v1)
Dynamic Observable (was in v1)
Blocking Observable (was in v1)
Connectable Observable (was in v1)
Observers
Specific Observer (was in v1)
Dynamic Observer (was in v1)
Disposables
Base Disposable
Callback Disposable (was in v1)
Composite Disposable (was in v1)
RefCount Disposable
Schedulers
Immediate (was in v1)
New Thread (was in v1)
CurrentThread (was in v1)
RunLoop (was in v1)
EventLoop
Creating Observables
Create (was in v1)
Just (was in v1)
+ memory_model (was in v1)
empty/never/error
from
iterable (was in v1)
future
callable (was in v1)
async
defer
interval
range
repeat
timer
concat
Operators
Transforming
map (was in v1)
group_by (was in v1)
flat_map (was in v1)
scan
scan with initial seed (was in v1)
scan without seed
buffer
count (was in v1)
skip
time
time_or_count
window
count (was in v1)
skip
time
time_or_count
toggle
Filtering
filter (was in v1)
take (was in v1)
debounce (was in v1)
distinct
distinct
distinct_until_changed (was in v1)
element_at
first (was in v1)
ignore_elements
last (was in v1)
sample (was in v1)
sample (observable)
sample_with_time
skip (was in v1)
skip_last
take_last (was in v1)
throttle
Conditional
take_while (was in v1)
all
amb
contains
default_if_empty
sequence_equal
skip_until
skip_while
take_until (was in v1)
Combining
merge
observable of observables (was in v1)
merge with (was in v1)
merge delay error
switch
switch_map (was in v1)
switch_on_next (was in v1)
switch_if_empty
with_latest_from (was in v1)
start_with (was in v1)
combine_latest (was in v1)
zip
Aggregate
average
concat (was in v1)
count
max
min
reduce (was in v1)
sum
Backpressure
backpressure ???
Error handling
on_error_resume (was in v1)
retry
retry_when
Utility
observe_on (was in v1)
repeat (was in v1)
scheduling (by default trampoline ?)
subscribe_on (was in v1)
delay (was in v1)
do/tap (was in v1)
tap with observer
tap with callbacks
do_on_next
do_on_error
do_on_completed
timeout (was in v1)
timeout
timeout with fallback observable
finally
Connectable
publish (was in v1)
multicast (was in v1)
connect (was in v1)
ref_count (was in v1)
replay
Subjects
publish_subject (was in v1)
behavior_subject (was in v1)
serialized_subject
replay_subject
async_subject
QT:
from_event (was in v1)
main_thread_scheduler (was in v1)
The text was updated successfully, but these errors were encountered:
Current implementation is really good and fast BUT it does a lot of unnecessary heap allocations AND a lot of unnecessary moves/copies while it is not needed. Need to change architecture to eliminate unnecessary copies/moves
Implementation status
Fundamentals
Creating Observables
Operators
Transforming
Filtering
Conditional
Combining
Aggregate
Backpressure
Error handling
Utility
Connectable
Subjects
QT:
The text was updated successfully, but these errors were encountered: