mpc
Haskell-like feature supports in C++
ranges.hpp File Reference
#include <iterator>
#include <mpc/stdfundamental.hpp>

Go to the source code of this file.

Classes

struct  mpc::ranges::detail::begin_fn
 
struct  mpc::ranges::detail::end_fn
 

Typedefs

template<class T >
using mpc::ranges::iterator_t = decltype(ranges::begin(std::declval< T & >()))
 
template<ranges::range R>
using mpc::ranges::sentinel_t = decltype(ranges::end(std::declval< R & >()))
 
template<ranges::range R>
using mpc::ranges::range_difference_t = std::iter_difference_t< ranges::iterator_t< R > >
 
template<ranges::range R>
using mpc::ranges::range_value_t = std::iter_value_t< ranges::iterator_t< R > >
 
template<ranges::range R>
using mpc::ranges::range_reference_t = std::iter_reference_t< ranges::iterator_t< R > >
 
template<ranges::range R>
using mpc::ranges::range_rvalue_reference_t = std::iter_rvalue_reference_t< ranges::iterator_t< R > >
 

Variables

constexpr detail::begin_fn cpo::begin {}
 
constexpr detail::end_fn cpo::end {}