C++ Actor Framework 1.0.0
Loading...
Searching...
No Matches
caf::flow::op::from_generator< Generator, Steps > Class Template Reference

Converts a Generator to an observable. More...

#include <from_generator.hpp>

Inheritance diagram for caf::flow::op::from_generator< Generator, Steps >:
caf::flow::op::hot< from_generator_output_t< Generator, Steps... > > caf::detail::atomic_ref_counted caf::flow::op::base< from_generator_output_t< Generator, Steps... > > caf::flow::coordinated

Public Types

using output_type = from_generator_output_t<Generator, Steps...>
 
using super = hot<output_type>
 
- Public Types inherited from caf::flow::op::base< from_generator_output_t< Generator, Steps... > >
using super
 The derived type.
 
using output_type
 The type of observed values.
 
using handle_type
 The proper type for holding a type-erased handle to object instances.
 

Public Member Functions

 from_generator (coordinator *parent, Generator gen, std::tuple< Steps... > steps)
 
disposable subscribe (observer< output_type > out) override
 
- Public Member Functions inherited from caf::flow::op::hot< from_generator_output_t< Generator, Steps... > >
 hot (coordinator *parent)
 
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.
 
coordinatorparent () const noexcept override
 Returns the coordinator this object lives on.
 
- Public Member Functions inherited from caf::detail::atomic_ref_counted
 atomic_ref_counted (const atomic_ref_counted &)
 
atomic_ref_countedoperator= (const atomic_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.
 
- Public Member Functions inherited from caf::flow::op::base< from_generator_output_t< Generator, Steps... > >
virtual disposable subscribe (observer< from_generator_output_t< Generator, Steps... > > what)=0
 Subscribes a new observer to the operator.
 

Additional Inherited Members

- Protected Attributes inherited from caf::flow::op::hot< from_generator_output_t< Generator, Steps... > >
coordinatorparent_
 
- Protected Attributes inherited from caf::detail::atomic_ref_counted
std::atomic< size_t > rc_
 

Detailed Description

template<class Generator, class... Steps>
class caf::flow::op::from_generator< Generator, Steps >

Converts a Generator to an observable.

Note
Depending on the Generator, this operator may turn cold if copying the generator results in each copy emitting the exact same sequence of values. However, we should treat it as hot by default.

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