Range-v3
Range algorithms, views, and actions for the Standard Library
traits.hpp File Reference

Classes

struct  ranges::range_cardinality< Rng, Void >
 

Typedefs

template<typename I , typename S >
using ranges::common_iterator_t = meta::conditional_t< std::is_same< I, S >::value, I, detail::common_iterator_impl_t< I, S > >
 
template<typename Rng >
using ranges::range_common_iterator_t = common_iterator_t< iterator_t< Rng >, sentinel_t< Rng > >
 
template<typename Rng >
using ranges::range_common_reference_t = iter_common_reference_t< iterator_t< Rng > >
 
template<typename Rng >
using ranges::range_difference_t = iter_difference_t< iterator_t< Rng > >
 
template<typename Rng >
using ranges::range_reference_t = iter_reference_t< iterator_t< Rng > >
 
template<typename Rng >
using ranges::range_rvalue_reference_t = iter_rvalue_reference_t< iterator_t< Rng > >
 
template<typename Rng >
using ranges::range_size_t = decltype(ranges::size(std::declval< Rng & >()))
 
template<typename Rng >
using ranges::range_value_t = iter_value_t< iterator_t< Rng > >