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

Classes

struct  ranges::v3::make_range_fn
 
struct  ranges::v3::range< I, S >
 
struct  ranges::v3::sized_range< I, S >
 

Namespaces

 ranges::v3
 Protect a callable so that it can be safely used in a bind expression without accidentally becoming a "nested" bind.
 

Functions

template<std::size_t N, typename I , typename S , int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(N==0), int >::type = 0>
constexpr auto ranges::v3::get (range< I, S > &p) -> decltype((p.first))
 Tuple-like access for range More...
 
template<std::size_t N, typename I , typename S , int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(N==0), int >::type = 0>
constexpr auto ranges::v3::get (range< I, S > const &p) -> decltype((p.first))
 
template<std::size_t N, typename I , typename S , int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(N==0), int >::type = 0>
constexpr auto ranges::v3::get (range< I, S > &&p) -> decltype((detail::move(p).first))
 
template<std::size_t N, typename I , typename S , int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(N==0), int >::type = 0>
constexpr auto ranges::v3::get (sized_range< I, S > &p) -> decltype((p.first))
 Tuple-like access for sized_range More...
 
template<std::size_t N, typename I , typename S , int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(N==0), int >::type = 0>
constexpr auto ranges::v3::get (sized_range< I, S > const &p) -> decltype((p.first))
 
template<std::size_t N, typename I , typename S , int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(N==0), int >::type = 0>
constexpr auto ranges::v3::get (sized_range< I, S > &&p) -> decltype((detail::move(p).first))