Range-v3
Range algorithms, views, and actions for the Standard Library
All Classes Namespaces Files Functions Variables Typedefs Friends Macros Modules Pages
range_traits.hpp File Reference

Classes

struct  ranges::v3::range_cardinality< Rng, Void >
 

Typedefs

template<typename Rng >
using ranges::v3::range_category = meta::defer< range_category_t, Rng >
 
template<typename Rng >
using ranges::v3::range_category_t = concepts::InputRange::category_t< Rng >
 
template<typename Rng >
using ranges::v3::range_common_iterator_t = common_iterator< range_iterator_t< Rng >, range_sentinel_t< Rng >>
 
template<typename Rng >
using ranges::v3::range_common_reference = meta::defer< range_common_reference_t, Rng >
 
template<typename Rng >
using ranges::v3::range_common_reference_t = concepts::InputRange::common_reference_t< Rng >
 
template<typename Rng >
using ranges::v3::range_difference = meta::defer< range_difference_t, Rng >
 
template<typename Rng >
using ranges::v3::range_difference_t = concepts::Range::difference_t< Rng >
 
template<typename Rng >
using ranges::v3::range_iterator = meta::defer< range_iterator_t, Rng >
 
template<typename Rng >
using ranges::v3::range_iterator_t = concepts::Range::iterator_t< Rng >
 
template<typename Rng >
using ranges::v3::range_reference = meta::defer< range_reference_t, Rng >
 
template<typename Rng >
using ranges::v3::range_reference_t = concepts::InputRange::reference_t< Rng >
 
template<typename Rng >
using ranges::v3::range_rvalue_reference = meta::defer< range_rvalue_reference_t, Rng >
 
template<typename Rng >
using ranges::v3::range_rvalue_reference_t = concepts::InputRange::rvalue_reference_t< Rng >
 
template<typename Rng >
using ranges::v3::range_safe_iterator_t = decltype(ranges::safe_begin(std::declval< Rng >()))
 
template<typename Rng >
using ranges::v3::range_safe_sentinel_t = decltype(ranges::safe_end(std::declval< Rng >()))
 
template<typename Rng >
using ranges::v3::range_sentinel = meta::defer< range_sentinel_t, Rng >
 
template<typename Rng >
using ranges::v3::range_sentinel_t = concepts::Range::sentinel_t< Rng >
 
template<typename Rng >
using ranges::v3::range_size = meta::defer< range_size_t, Rng >
 
template<typename Rng >
using ranges::v3::range_size_t = meta::_t< std::make_unsigned< range_difference_t< Rng >>>
 
template<typename Rng >
using ranges::v3::range_value = meta::defer< range_value_t, Rng >
 
template<typename Rng >
using ranges::v3::range_value_t = concepts::InputRange::value_t< Rng >