Support Class Library
A set of tools providing classes and utility
|
Namespace for intermediate operations on streams (lazy) More...
Namespaces | |
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 > | filter (F &&predicate) |
Filter a stream. More... | |
template<class T > | |
details::filter_toolbox< T > | filter_ (typename details::filter_toolbox< T >::pred_t pred) |
Filter a stream by explicitly giving the type arguments. More... | |
template<class T > | |
Stream< T > | operator| (const Stream< T > &lhs, const details::filter_toolbox< T > &rhs) |
Pipe operator overload for filter operations. More... | |
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>>, class U = scl::tools::meta ::decay_t< scl::tools::meta ::return_t<Fn>>> | |
details::map_toolbox< T, U > | map (F &&mapper) |
Map a stream. More... | |
template<class T , class U = T> | |
details::map_toolbox< T, U > | map_ (typename details::map_toolbox< T, U >::mapper_t mapper) |
Map a stream by explicitly providing the type arguments. More... | |
template<class T , class U > | |
Stream< U > | operator| (const Stream< T > &lhs, const details::map_toolbox< T, U > &rhs) |
Pipe operator overload for map toolbox tags. More... | |
details::unique_toolbox | unique () |
Remove duplicates from a stream. More... | |
template<class T , class U > | |
Stream< T > | operator| (const Stream< T > &lhs, details::unique_toolbox rhs) |
Pipe operator overload for unique operations. More... | |
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>>, class U = scl::tools::meta ::decay_t< scl::tools::meta ::return_t<Fn>>> | |
details::uniqueBy_toolbox< T, U > | uniqueBy (F &&mapper) |
Remove duplicates from a stream. More... | |
template<class T , class U > | |
details::uniqueBy_toolbox< T, U > | uniqueBy_ (typename details::uniqueBy_toolbox< T, U >::map_t mapper) |
Remove duplicates from a stream by explicitly providing the type arguments. More... | |
template<class T , class U > | |
Stream< T > | operator| (const Stream< T > &lhs, details::uniqueBy_toolbox< T, U > rhs) |
Pipe operator overload for uniqueBy (and unique) operations. More... | |
Namespace for intermediate operations on streams (lazy)
details::filter_toolbox<T> scl::stream::operators::filter | ( | F && | predicate | ) |
details::filter_toolbox<T> scl::stream::operators::filter_ | ( | typename details::filter_toolbox< T >::pred_t | pred | ) |
details::map_toolbox<T, U> scl::stream::operators::map | ( | F && | mapper | ) |
Map a stream.
F | being the type of the callable (deduced) |
Fn | being the function wrapper type (computed) |
T | being the type to map from (computed) |
U | being the type to map to (computed) |
mapper | being the callable used to map values |
details::map_toolbox<T, U> scl::stream::operators::map_ | ( | typename details::map_toolbox< T, U >::mapper_t | mapper | ) |
Stream<T> scl::stream::operators::operator| | ( | const Stream< T > & | lhs, |
details::unique_toolbox | rhs | ||
) |
Stream<T> scl::stream::operators::operator| | ( | const Stream< T > & | lhs, |
const details::filter_toolbox< T > & | rhs | ||
) |
Stream<U> scl::stream::operators::operator| | ( | const Stream< T > & | lhs, |
const details::map_toolbox< T, U > & | rhs | ||
) |
Stream<T> scl::stream::operators::operator| | ( | const Stream< T > & | lhs, |
details::uniqueBy_toolbox< T, U > | rhs | ||
) |
Pipe operator overload for uniqueBy (and unique) operations.
T | being the value type |
U | being the key type |
lhs | being the stream to remove duplicates from |
rhs | being the unique toolbox tag |
Definition at line 148 of file uniqueBy.h.
details::unique_toolbox scl::stream::operators::unique | ( | ) |
details::uniqueBy_toolbox<T, U> scl::stream::operators::uniqueBy | ( | F && | mapper | ) |
Remove duplicates from a stream.
F | being the callable type (deduce) |
Fn | being the function wrapper type (computed) |
T | being the value type (computed) |
U | being the key type (computed) |
mapper | being the key computation function |
Definition at line 124 of file uniqueBy.h.
details::uniqueBy_toolbox<T, U> scl::stream::operators::uniqueBy_ | ( | typename details::uniqueBy_toolbox< T, U >::map_t | mapper | ) |
Remove duplicates from a stream by explicitly providing the type arguments.
T | being the value type |
U | being the key type |
mapper | being the key computation function |
Definition at line 136 of file uniqueBy.h.