CAF 0.17.6
Loading...
Searching...
No Matches
caf::stream_source_driver< DownstreamManager > Class Template Referenceabstract

Identifies an unbound sequence of messages. More...

#include <stream_source_driver.hpp>

Inheritance diagram for caf::stream_source_driver< DownstreamManager >:
caf::detail::stream_source_driver_impl< DownstreamManager, Pull, Done, Finalize >

Public Types

using downstream_manager_type = DownstreamManager
 Type of the downstream manager, i.e., the type returned by stream_manager::out().
 
using output_type = typename downstream_manager_type::output_type
 Element type of the output stream.
 
using stream_type = stream<output_type>
 Type of the output stream.
 
using source_type = stream_source<downstream_manager_type>
 Implemented stream_source interface.
 
using source_ptr_type = intrusive_ptr<source_type>
 Smart pointer to the interface type.
 

Public Member Functions

virtual void finalize (const error &)
 Cleans up any state.
 
virtual void pull (downstream< output_type > &dst, size_t num)=0
 Generates more elements for dst.
 
virtual bool done () const noexcept=0
 Returns true if the source is done sending, otherwise false.
 

Detailed Description

template<class DownstreamManager>
class caf::stream_source_driver< DownstreamManager >

Identifies an unbound sequence of messages.

Member Function Documentation

◆ done()

template<class DownstreamManager >
virtual bool caf::stream_source_driver< DownstreamManager >::done ( ) const
pure virtualnoexcept

Returns true if the source is done sending, otherwise false.

Implemented in caf::detail::stream_source_driver_impl< DownstreamManager, Pull, Done, Finalize >.

◆ finalize()

template<class DownstreamManager >
virtual void caf::stream_source_driver< DownstreamManager >::finalize ( const error & )
virtual

◆ pull()

template<class DownstreamManager >
virtual void caf::stream_source_driver< DownstreamManager >::pull ( downstream< output_type > & dst,
size_t num )
pure virtual

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