Support Class Library
A set of tools providing classes and utility
Classes | Namespaces | Functions
forEach.h File Reference
#include <scl/stream/details/deprecation.h>
#include <scl/stream/details/iterator/EndStreamIterator.h>
#include <functional>
#include <scl/stream/Stream.h>
#include <scl/tools/meta/meta.hpp>

Go to the source code of this file.

Classes

class  scl::stream::terminators::details::ForEachTerminator< T >
 For each terminator. More...
 
struct  scl::stream::terminators::details::for_each_toolbox< T >
 forEach toolbox tag More...
 

Namespaces

 scl
 Global namespace of the SCL.
 
 scl::stream
 Namespace of the stream API.
 
 scl::stream::terminators
 Namespace for stream terminal/final operations (eager)
 
 scl::stream::terminators::details
 Namespace for implementation details of terminators.
 

Functions

template<class F , class Fn = decltype( scl::tools::meta ::as_fn(std::declval<F>())), class T = scl::tools::meta ::remove_cv_ref_t< scl::tools::meta ::arg_t<Fn, 0>>>
details::for_each_toolbox< T > scl::stream::terminators::forEach (F callback)
 Invoke a function on each element of a stream. More...
 
template<class T >
details::for_each_toolbox< T > scl::stream::terminators::forEach_ (typename details::for_each_toolbox< T >::callback_t cb)
 Invoke a function on each element of a stream by providing the type arguments. More...
 
template<class T >
void scl::stream::terminators::operator| (const Stream< T > &lhs, const details::for_each_toolbox< T > &rhs)
 Pipe operator overload for forEach terminators. More...