MCPcopy Create free account
hub / github.com/AlexInLog/ReactivePlusPlus / lift

Method lift

src/examples/rpp/doxygen/readme.cpp:40–46  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38 // 3: implement core logic of operator: accept downstream observer (of result_type) and convert it to upstream observer (of T).
39 template<typename Upstream, rpp::constraint::observer Observer>
40 auto lift(Observer&& observer) const
41 {
42 const auto dynamic_observer = std::forward<Observer>(observer).as_dynamic();
43 return rpp::make_lambda_observer<Upstream>([dynamic_observer, fn = fn](const auto& v) { dynamic_observer.on_next(fn(v)); },
44 [dynamic_observer](const std::exception_ptr& err) { dynamic_observer.on_error(err); },
45 [dynamic_observer]() { dynamic_observer.on_completed(); });
46 }
47};
48
49template<typename Fn>

Callers

nothing calls this directly

Calls 4

as_dynamicMethod · 0.45
on_nextMethod · 0.45
on_errorMethod · 0.45
on_completedMethod · 0.45

Tested by

no test coverage detected