C++ Actor Framework 1.0.0
Loading...
Searching...
No Matches
caf::flow::op::zip_with_sub< F, Ts > Class Template Reference

Combines items from any number of observables using a zip function. More...

#include <zip_with.hpp>

Inheritance diagram for caf::flow::op::zip_with_sub< F, Ts >:
caf::flow::subscription::impl_base caf::detail::plain_ref_counted caf::flow::subscription::impl caf::flow::coordinated

Public Types

using output_type = zip_with_output_t<F, Ts...>
 
- Public Types inherited from caf::flow::subscription::impl
using handle_type = subscription
 

Public Member Functions

 zip_with_sub (coordinator *parent, F fn, observer< output_type > out, std::tuple< observable< Ts >... > &srcs)
 
coordinatorparent () const noexcept override
 Returns the coordinator this object lives on.
 
bool disposed () const noexcept override
 
void request (size_t n) override
 Signals demand for n more items.
 
template<size_t I>
auto & at (zip_index< I >)
 
template<class Fn , size_t... Is>
void for_each_input (Fn &&fn, std::index_sequence< Is... >)
 
template<class Fn >
void for_each_input (Fn &&fn)
 
template<class Fn , size_t... Is>
auto fold (Fn &&fn, std::index_sequence< Is... >)
 
template<class Fn >
auto fold (Fn &&fn)
 
size_t buffered ()
 
bool at_end ()
 
template<size_t I>
void fwd_on_subscribe (zip_index< I > index, subscription sub)
 
template<size_t I>
void fwd_on_complete (zip_index< I > index)
 
template<size_t I>
void fwd_on_error (zip_index< I > index, const error &what)
 
template<size_t I, class T >
void fwd_on_next (zip_index< I > index, const T &item)
 
- Public Member Functions inherited from caf::flow::subscription::impl_base
void ref_disposable () const noexcept override
 
void deref_disposable () const noexcept override
 
void ref_coordinated () const noexcept override
 Increases the reference count of the coordinated.
 
void deref_coordinated () const noexcept override
 Decreases the reference count of the coordinated and destroys the object if necessary.
 
void dispose () final
 
void cancel () final
 Signals that the observer is no longer interested in receiving items.
 
- Public Member Functions inherited from caf::detail::plain_ref_counted
 plain_ref_counted (const plain_ref_counted &)
 
plain_ref_countedoperator= (const plain_ref_counted &)
 
void ref () const noexcept
 Increases reference count by one.
 
void deref () const noexcept
 Decreases reference count by one and calls request_deletion when it drops to zero.
 
bool unique () const noexcept
 Queries whether there is exactly one reference.
 
size_t get_reference_count () const noexcept
 Queries the current reference count for this object.
 

Additional Inherited Members

- Protected Attributes inherited from caf::detail::plain_ref_counted
size_t rc_
 

Detailed Description

template<class F, class... Ts>
class caf::flow::op::zip_with_sub< F, Ts >

Combines items from any number of observables using a zip function.

Member Function Documentation

◆ parent()

template<class F , class... Ts>
coordinator * caf::flow::op::zip_with_sub< F, Ts >::parent ( ) const
overridevirtualnoexcept

Returns the coordinator this object lives on.

Implements caf::flow::coordinated.

◆ request()

template<class F , class... Ts>
void caf::flow::op::zip_with_sub< F, Ts >::request ( size_t n)
overridevirtual

Signals demand for n more items.

Implements caf::flow::subscription::impl.


The documentation for this class was generated from the following file: