lxgui
Functions
lxgui::utils::range Namespace Reference

Functions

template<typename T >
range_impl::reverse_range< T > reverse (T &container)
 Reverse traversal. More...
 
template<typename T >
range_impl::iterator_range< T > iterator (T &container)
 Expose the iterator rather than the element. More...
 
template<typename T >
range_impl::reverse_iterator_range< T > reverse_iterator (T &container)
 Expose the iterator rather than the element, with reverse traversal. More...
 
template<typename T >
range_impl::value_range< T > value (T &container)
 Expose the value rather than the (key,value) pair. More...
 
template<typename T >
range_impl::reverse_value_range< T > reverse_value (T &container)
 Expose the value rather than the (key,value) pair, with reverse traversal. More...
 
template<typename T >
range_impl::key_range< T > key (T &container)
 Expose the key rather than the (key,value) pair. More...
 
template<typename T >
range_impl::reverse_key_range< T > reverse_key (T &container)
 Expose the key rather than the (key,value) pair, with reverse traversal. More...
 

Function Documentation

◆ iterator()

template<typename T >
range_impl::iterator_range<T> lxgui::utils::range::iterator ( T &  container)

Expose the iterator rather than the element.

Parameters
containerThe container to traverse
Note
Example usage:
std::vector<int> v = { ... };
for (auto iter : utils::range::iterator(v)) { ... }
// Equivalent to:
for (auto iter = v.begin(); iter != v.end(); ++iter) { ... }
range_impl::iterator_range< T > iterator(T &container)
Expose the iterator rather than the element.

Definition at line 114 of file utils_range.hpp.

◆ key()

template<typename T >
range_impl::key_range<T> lxgui::utils::range::key ( T &  container)

Expose the key rather than the (key,value) pair.

Parameters
containerThe container to traverse
Note
Example usage:
std::map<int,std::string> v = { ... };
for (int k : utils::range::key(v)) { ... }
// Equivalent to:
for (auto iter = v.begin(); iter != v.end(); ++iter) { int k = iter->first; ... }
range_impl::key_range< T > key(T &container)
Expose the key rather than the (key,value) pair.

Definition at line 341 of file utils_range.hpp.

◆ reverse()

template<typename T >
range_impl::reverse_range<T> lxgui::utils::range::reverse ( T &  container)

Reverse traversal.

Parameters
containerThe container to traverse
Note
Example usage:
std::vector<int> v = { ... };
for (int& i : utils::range::reverse(v)) { ... }
// Equivalent to:
for (auto iter = v.rbegin(); iter != v.rend(); ++iter) { int& i = *iter; ... }
range_impl::reverse_range< T > reverse(T &container)
Reverse traversal.
Definition: utils_range.hpp:50

Definition at line 50 of file utils_range.hpp.

◆ reverse_iterator()

template<typename T >
range_impl::reverse_iterator_range<T> lxgui::utils::range::reverse_iterator ( T &  container)

Expose the iterator rather than the element, with reverse traversal.

Parameters
containerThe container to traverse
Note
Example usage:
std::vector<int> v = { ... };
for (auto iter : utils::range::reverse_iterator(v)) { ... }
// Equivalent to:
for (auto iter = v.rbegin(); iter != v.rend(); ++iter) { ... }
range_impl::reverse_iterator_range< T > reverse_iterator(T &container)
Expose the iterator rather than the element, with reverse traversal.

Definition at line 159 of file utils_range.hpp.

◆ reverse_key()

template<typename T >
range_impl::reverse_key_range<T> lxgui::utils::range::reverse_key ( T &  container)

Expose the key rather than the (key,value) pair, with reverse traversal.

Parameters
containerThe container to traverse
Note
Example usage:
std::map<int,std::string> v = { ... };
for (int k : utils::range::key(v)) { ... }
// Equivalent to:
for (auto iter = v.rbegin(); iter != v.rend(); ++iter) { int k = iter->first; ... }

Definition at line 387 of file utils_range.hpp.

◆ reverse_value()

template<typename T >
range_impl::reverse_value_range<T> lxgui::utils::range::reverse_value ( T &  container)

Expose the value rather than the (key,value) pair, with reverse traversal.

Parameters
containerThe container to traverse
Note
Example usage:
std::map<int,std::string> v = { ... };
for (std::string& s : utils::range::reverse_value(v)) { ... }
// Equivalent to:
for (auto iter = v.rbegin(); iter != v.rend(); ++iter) { std::string& s = iter->second;
... }
range_impl::reverse_value_range< T > reverse_value(T &container)
Expose the value rather than the (key,value) pair, with reverse traversal.

Definition at line 276 of file utils_range.hpp.

◆ value()

template<typename T >
range_impl::value_range<T> lxgui::utils::range::value ( T &  container)

Expose the value rather than the (key,value) pair.

Parameters
containerThe container to traverse
Note
Example usage:
std::map<int,std::string> v = { ... };
for (std::string& s : utils::range::value(v)) { ... }
// Equivalent to:
for (auto iter = v.begin(); iter != v.end(); ++iter) { std::string& s = iter->second; ...
}
range_impl::value_range< T > value(T &container)
Expose the value rather than the (key,value) pair.

Definition at line 227 of file utils_range.hpp.