Support Class Library
A set of tools providing classes and utility
|
Namespace for functions and utilities that create streams (lazy) More...
Namespaces | |
details | |
Implementation details of creators. | |
Functions | |
template<class T , size_t N> | |
Stream< T > | streamFrom (std::array< T, N > a) |
Create an scl::stream::Stream from a std::array. More... | |
template<class Char = char, class Traits = std::char_traits<Char>> | |
Stream< std::basic_string< Char, Traits > > | streamFrom (std::basic_istream< Char, Traits > &inputStream) |
Create a stream from a std::basic_istream. More... | |
template<class T = int, class = scl::tools::meta ::enable_if_t< scl::tools::meta ::is_arithmetic<T>()>> | |
Stream< T > | range (T from, T to, T step=1) |
Create an scl::stream::Stream for a specified range. More... | |
template<class T = int, class = scl::tools::meta ::enable_if_t< scl::tools::meta ::is_arithmetic<T>()>> | |
Stream< T > | rangeTo (T to, T step=1) |
Range from 0 to the specified value. More... | |
template<class T = int, class = scl::tools::meta ::enable_if_t< scl::tools::meta ::is_arithmetic<T>()>> | |
Stream< T > | rangeFrom (T from, T step=-1) |
Generate a range from the given value to 0. More... | |
template<class T = double, class = scl::tools::meta ::enable_if_t< scl::tools::meta ::is_arithmetic<T>() && std::numeric_limits<T>::has_infinity >> | |
Stream< T > | infiniteRange (T from=0, T step=1) |
Generate a range from the given value to +inf. More... | |
template<class C , class It = typename C::iterator> | |
Stream< typename details::FromStlIterator< It >::value_type > | streamFrom (C &container) |
Create a stream from a container. More... | |
template<class It > | |
Stream< typename details::FromStlIterator< It >::value_type > | streamFrom (It begin, It end) |
Create a stream from a pair of iterators. More... | |
Namespace for functions and utilities that create streams (lazy)
Stream<T> scl::stream::creators::infiniteRange | ( | T | from = 0 , |
T | step = 1 |
||
) |
Stream<T> scl::stream::creators::range | ( | T | from, |
T | to, | ||
T | step = 1 |
||
) |
Create an scl::stream::Stream for a specified range.
T | being the type of the elements of the range |
from | being the initial value |
to | being the last value |
step | being the increment |
Stream<T> scl::stream::creators::rangeFrom | ( | T | from, |
T | step = -1 |
||
) |
Stream<T> scl::stream::creators::rangeTo | ( | T | to, |
T | step = 1 |
||
) |
Stream<typename details::FromStlIterator<It>::value_type> scl::stream::creators::streamFrom | ( | C & | container | ) |
Create a stream from a container.
C | being the container type |
It | being the computed iterator type |
container | being the container to construct from |
Definition at line 18 of file stl_containers.h.
Stream<std::basic_string<Char, Traits> > scl::stream::creators::streamFrom | ( | std::basic_istream< Char, Traits > & | inputStream | ) |
Create a stream from a std::basic_istream.
Char | being the type of characters to use |
Traits | being the traits for these characters |
inputStream | being the std::basic_istream to read from |
Stream<typename details::FromStlIterator<It>::value_type> scl::stream::creators::streamFrom | ( | It | begin, |
It | end | ||
) |
Create a stream from a pair of iterators.
It | being the type of iterators |
begin | being the begin iterator |
end | being the end iterator |
Definition at line 71 of file stl_iterators.h.
Stream<T> scl::stream::creators::streamFrom | ( | std::array< T, N > | a | ) |
Create an scl::stream::Stream from a std::array.
T | being the type of values |
N | being the length of the array |
a | being the array |