Support Class Library
A set of tools providing classes and utility
Classes | Namespaces | Functions
range.h File Reference
#include <scl/stream/details/deprecation.h>
#include <scl/macros.h>
#include <scl/tools/meta/meta.hpp>
#include <limits>
#include <scl/stream/details/iterator/BaseStreamIterator.h>
#include <scl/tools/make/make.hpp>
#include <scl/concepts/require.h>
#include <scl/concepts/Copyable.h>

Go to the source code of this file.

Classes

class  scl::stream::creators::details::RangeCreator< T >
 Creator for a numeric range. More...
 

Namespaces

 scl
 Global namespace of the SCL.
 
 scl::stream
 Namespace of the stream API.
 
 scl::stream::creators
 Namespace for functions and utilities that create streams (lazy)
 
 scl::stream::creators::details
 Implementation details of creators.
 

Functions

template<class T = int, class = scl::tools::meta ::enable_if_t< scl::tools::meta ::is_arithmetic<T>()>>
Stream< T > scl::stream::creators::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 > scl::stream::creators::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 > scl::stream::creators::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 > scl::stream::creators::infiniteRange (T from=0, T step=1)
 Generate a range from the given value to +inf. More...