swift
Classes | Namespaces | Functions
range.h File Reference

Go to the source code of this file.

Classes

class  swift::misc::CRangeBase< Derived >
 Any container class with begin and end iterators can inherit from this CRTP class to gain some useful algorithms as member functions. More...
 
class  swift::misc::CRange< I >
 A range is a conceptual container which does not contain any elements of its own, but is constructed from a begin iterator and an end iterator of another container. More...
 

Namespaces

 swift::misc
 Free functions in swift::misc.
 

Functions

template<class I , class I2 >
auto swift::misc::makeRange (I begin, I2 end) -> CRange< I >
 Returns a CRange constructed from begin and end iterators of deduced types. More...
 
template<class T >
auto swift::misc::makeConstRange (const T &container) -> CRange< decltype(container.cbegin())>
 Returns a const CRange constructed from the cbegin and cend iterators of the given container.
 
template<class T >
void swift::misc::makeKeysRange (const T &&container)=delete
 Keys range for a temporary would be unsafe.
 
template<class T >
void swift::misc::makePairsRange (const T &&container)=delete
 Pairs range for a temporary would be unsafe.
 
template<class I >
QDebug swift::misc::operator<< (QDebug d, const CRange< I > &range)
 Streaming operators for CRange to qDebug.
 
template<class I >
QNoDebug swift::misc::operator<< (QNoDebug d, const CRange< I > &)
 Streaming operators for CRange to qDebug.
 
template<class T >
auto swift::misc::makeRange (T &container) -> CRange< decltype(container.begin())>
 Returns a CRange constructed from the begin and end iterators of the given container.
 
template<class T >
auto swift::misc::makeRange (const T &container) -> CRange< decltype(container.begin())>
 Returns a CRange constructed from the begin and end iterators of the given container.
 
template<class T >
auto swift::misc::makeKeysRange (const T &container)
 Returns a const CRange for iterating over the keys of a Qt associative container. More...
 
template<class T >
void swift::misc::makeKeysRange (T &container)
 Returns a const CRange for iterating over the keys of a Qt associative container. More...
 
template<class T >
auto swift::misc::makePairsRange (const T &container)
 Returns a const CRange for iterating over the keys and values of a Qt associative container. More...
 
template<class T >
auto swift::misc::makePairsRange (T &container)
 Returns a const CRange for iterating over the keys and values of a Qt associative container. More...