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

Go to the source code of this file.

Classes

class  scl::stream::operators::details::FilterOperator< T >
 Filter operation. More...
 
struct  scl::stream::operators::details::filter_toolbox< T >
 Tag type for filter operations. More...
 

Namespaces

 scl
 Global namespace of the SCL.
 
 scl::stream
 Namespace of the stream API.
 
 scl::stream::operators
 Namespace for intermediate operations on streams (lazy)
 
 scl::stream::operators::details
 Namespace for implementation details of operators.
 

Functions

template<class F , class Fn = decltype( scl::tools::meta ::as_fn(std::declval<F>())), class T = scl::tools::meta ::decay_t< scl::tools::meta ::arg_t<Fn, 0>>>
details::filter_toolbox< T > scl::stream::operators::filter (F &&predicate)
 Filter a stream. More...
 
template<class T >
details::filter_toolbox< T > scl::stream::operators::filter_ (typename details::filter_toolbox< T >::pred_t pred)
 Filter a stream by explicitly giving the type arguments. More...
 
template<class T >
Stream< T > scl::stream::operators::operator| (const Stream< T > &lhs, const details::filter_toolbox< T > &rhs)
 Pipe operator overload for filter operations. More...