10 namespace terminators{
42 auto v = this->
next();
91 class Fn = decltype(
META::as_fn(std::declval<F>())),
92 class T = META::remove_cv_ref_t<META::arg_t<Fn, 0>>
118 terminator.process();
bool hasNext() const override
BaseStreamIterator< T > parent_iterator_type
Type alias for the "parent" iterator.
typename payload_type::value_type value_type
Type alias for the data type manipulated.
void process()
Process the return value.
Global namespace of the SCL.
void operator|(const Stream< T > &lhs, const details::for_each_toolbox< T > &rhs)
Pipe operator overload for forEach terminators.
it_t it() const
Get a reference to the underlying iterator.
payload_type next() override
typename iterator_type::parent_type parent_type
typename OpStreamIterator< T >::parent_type parent_type
details::for_each_toolbox< T > forEach_(typename details::for_each_toolbox< T >::callback_t cb)
Invoke a function on each element of a stream by providing the type arguments.
std::function< void(const value_type &)> consumer_type
The type of functions to call on each element.
typename iterator_type::result_type result_type
details::for_each_toolbox< T > forEach(F callback)
Invoke a function on each element of a stream.
typename iterator_type::payload_type payload_type
Type alias for the payload used.
consumer_type consumer
the function to call on each element
A class for iterators used in end operations.
typename iterator_type::parent_iterator_type parent_iterator_type
ForEachTerminator(parent_type p, consumer_type c)
Construct a terminator from its parent and a consumer.
A class representing a stream iterator's payload.
Class representing a stream of data.
void result_type
Type alias for the computed result.