sparrow 0.6.0
Loading...
Searching...
No Matches
ranges.hpp File Reference
#include <algorithm>
#include <bitset>
#include <ranges>
#include <type_traits>
#include <vector>
#include "sparrow/utils/mp_utils.hpp"
Include dependency graph for ranges.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  sparrow::ranges::copy_fn
 Copies the elements from the input range to the output iterator. More...
 

Namespaces

namespace  sparrow
 
namespace  sparrow::ranges
 

Concepts

concept  sparrow::ranges::has_ranges_copy
 

Functions

template<std::ranges::input_range R>
requires (std::ranges::sized_range<R>)
std::size_t sparrow::range_size (R &&r)
 
template<std::ranges::input_range R>
requires (!std::ranges::sized_range<R>)
std::size_t sparrow::range_size (R &&r)
 
template<std::ranges::range Range>
requires std::ranges::sized_range<std::ranges::range_value_t<Range>>
constexpr bool sparrow::all_same_size (const Range &range)
 
template<std::ranges::input_range R, std::weakly_incrementable O>
requires std::indirectly_copyable<std::ranges::iterator_t<R>, O>
constexpr std::ranges::copy_result< std::ranges::borrowed_iterator_t< R >, O > sparrow::ranges::copy (R &&r, O result)