openMSX
Namespaces | Functions
ranges.hh File Reference
#include <algorithm>
#include <iterator>
#include <numeric>
Include dependency graph for ranges.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 ranges
 

Functions

template<typename ForwardRange >
bool ranges::is_sorted (ForwardRange &&range)
 
template<typename ForwardRange , typename Compare >
bool ranges::is_sorted (ForwardRange &&range, Compare comp)
 
template<typename RandomAccessRange >
void ranges::sort (RandomAccessRange &&range)
 
template<typename RandomAccessRange , typename Compare >
void ranges::sort (RandomAccessRange &&range, Compare comp)
 
template<typename RandomAccessRange >
void ranges::stable_sort (RandomAccessRange &&range)
 
template<typename RandomAccessRange , typename Compare >
void ranges::stable_sort (RandomAccessRange &&range, Compare comp)
 
template<typename ForwardRange , typename T >
bool ranges::binary_search (ForwardRange &&range, const T &value)
 
template<typename ForwardRange , typename T , typename Compare >
bool ranges::binary_search (ForwardRange &&range, const T &value, Compare comp)
 
template<typename ForwardRange , typename T >
auto ranges::lower_bound (ForwardRange &&range, const T &value)
 
template<typename ForwardRange , typename T , typename Compare >
auto ranges::lower_bound (ForwardRange &&range, const T &value, Compare comp)
 
template<typename ForwardRange , typename T >
auto ranges::upper_bound (ForwardRange &&range, const T &value)
 
template<typename ForwardRange , typename T , typename Compare >
auto ranges::upper_bound (ForwardRange &&range, const T &value, Compare comp)
 
template<typename ForwardRange , typename T >
auto ranges::equal_range (ForwardRange &&range, const T &value)
 
template<typename ForwardRange , typename T , typename Compare >
auto ranges::equal_range (ForwardRange &&range, const T &value, Compare comp)
 
template<typename InputRange , typename T >
auto ranges::find (InputRange &&range, const T &value)
 
template<typename InputRange , typename UnaryPredicate >
auto ranges::find_if (InputRange &&range, UnaryPredicate pred)
 
template<typename InputRange , typename UnaryPredicate >
bool ranges::all_of (InputRange &&range, UnaryPredicate pred)
 
template<typename InputRange , typename UnaryPredicate >
bool ranges::any_of (InputRange &&range, UnaryPredicate pred)
 
template<typename InputRange , typename UnaryPredicate >
bool ranges::none_of (InputRange &&range, UnaryPredicate pred)
 
template<typename ForwardRange >
auto ranges::unique (ForwardRange &&range)
 
template<typename ForwardRange , typename BinaryPredicate >
auto ranges::unique (ForwardRange &&range, BinaryPredicate pred)
 
template<typename InputRange , typename OutputIter >
auto ranges::copy (InputRange &&range, OutputIter out)
 
template<typename InputRange , typename OutputIter , typename UnaryPredicate >
auto ranges::copy_if (InputRange &&range, OutputIter out, UnaryPredicate pred)
 
template<typename InputRange , typename OutputIter , typename UnaryOperation >
auto ranges::transform (InputRange &&range, OutputIter out, UnaryOperation op)
 
template<typename ForwardRange , typename T >
void ranges::replace (ForwardRange &&range, const T &old_value, const T &new_value)
 
template<typename ForwardRange , typename UnaryPredicate , typename T >
void ranges::replace_if (ForwardRange &&range, UnaryPredicate pred, const T &new_value)
 
template<typename ForwardRange , typename T >
void ranges::fill (ForwardRange &&range, const T &value)
 
template<typename InputRange , typename T >
ranges::accumulate (InputRange &&range, T init)
 
template<typename InputRange , typename T , typename BinaryOperation >
ranges::accumulate (InputRange &&range, T init, BinaryOperation op)
 
template<typename InputRange , typename T >
auto ranges::count (InputRange &&range, const T &value)
 
template<typename InputRange , typename UnaryPredicate >
auto ranges::count_if (InputRange &&range, UnaryPredicate pred)
 
template<typename InputRange1 , typename InputRange2 , typename OutputIter >
auto ranges::set_difference (InputRange1 &&range1, InputRange2 &&range2, OutputIter out)