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

Classes

struct  ranges::v3::concepts::BidirectionalRange
 
struct  ranges::v3::concepts::BidirectionalView
 
struct  ranges::v3::concepts::BoundedRange
 
struct  ranges::v3::concepts::BoundedView
 
struct  ranges::v3::concepts::ContiguousRange
 
struct  ranges::v3::concepts::ContiguousView
 
struct  ranges::v3::concepts::ForwardRange
 
struct  ranges::v3::concepts::ForwardView
 
struct  ranges::v3::concepts::InputRange
 
struct  ranges::v3::concepts::InputView
 
struct  ranges::v3::concepts::OutputRange
 
struct  ranges::v3::concepts::OutputView
 
struct  ranges::v3::concepts::RandomAccessRange
 
struct  ranges::v3::concepts::RandomAccessView
 
struct  ranges::v3::concepts::Range
 Range concepts below. More...
 
struct  ranges::v3::concepts::SizedRange
 
struct  ranges::v3::concepts::SizedView
 
struct  ranges::v3::concepts::View
 View concepts below. More...
 
struct  ranges::v3::enable_view< T >
 
class  std::multiset< K >
 STL class.
 
class  std::set< K >
 STL class.
 
class  std::unordered_multiset< K >
 STL class.
 
class  std::unordered_set< K >
 STL class.
 

Typedefs

template<typename T >
using ranges::v3::BidirectionalRange = concepts::models< concepts::BidirectionalRange, T >
 
template<typename T >
using ranges::v3::BidirectionalView = concepts::models< concepts::BidirectionalView, T >
 
template<typename T >
using ranges::v3::bounded_range_concept = concepts::most_refined< meta::list< concepts::BoundedRange, concepts::Range >, T >
 
template<typename T >
using ranges::v3::bounded_range_concept_t = meta::_t< bounded_range_concept< T > >
 
template<typename T >
using ranges::v3::bounded_view_concept = concepts::most_refined< meta::list< concepts::BoundedView, concepts::View >, T >
 
template<typename T >
using ranges::v3::bounded_view_concept_t = meta::_t< bounded_view_concept< T > >
 
template<typename T >
using ranges::v3::BoundedRange = concepts::models< concepts::BoundedRange, T >
 
template<typename T >
using ranges::v3::BoundedView = concepts::models< concepts::BoundedView, T >
 
template<typename Rng >
using ranges::v3::ContiguousRange = concepts::models< concepts::ContiguousRange, Rng >
 
template<typename T >
using ranges::v3::ContiguousView = concepts::models< concepts::ContiguousView, T >
 
template<typename T >
using ranges::v3::ForwardRange = concepts::models< concepts::ForwardRange, T >
 
template<typename T >
using ranges::v3::ForwardView = concepts::models< concepts::ForwardView, T >
 
template<typename T >
using ranges::v3::InputRange = concepts::models< concepts::InputRange, T >
 
template<typename T >
using ranges::v3::InputView = concepts::models< concepts::InputView, T >
 
template<typename T >
using ranges::v3::is_view = View< T >
 
template<typename T , typename V >
using ranges::v3::OutputRange = concepts::models< concepts::OutputRange, T, V >
 
template<typename T , typename V >
using ranges::v3::OutputView = concepts::models< concepts::OutputView, T, V >
 
template<typename T >
using ranges::v3::RandomAccessRange = concepts::models< concepts::RandomAccessRange, T >
 
template<typename T >
using ranges::v3::RandomAccessView = concepts::models< concepts::RandomAccessView, T >
 
template<typename T >
using ranges::v3::Range = concepts::models< concepts::Range, T >
 
template<typename T >
using ranges::v3::range_concept = concepts::most_refined< meta::list< concepts::ContiguousRange, concepts::RandomAccessRange, concepts::BidirectionalRange, concepts::ForwardRange, concepts::InputRange >, T >
 
template<typename T >
using ranges::v3::range_concept_t = meta::_t< range_concept< T > >
 
template<typename T >
using ranges::v3::sized_range_concept = concepts::most_refined< meta::list< concepts::SizedRange, concepts::Range >, T >
 
template<typename T >
using ranges::v3::sized_range_concept_t = meta::_t< sized_range_concept< T > >
 
template<typename T >
using ranges::v3::sized_view_concept = concepts::most_refined< meta::list< concepts::SizedView, concepts::View >, T >
 
template<typename T >
using ranges::v3::sized_view_concept_t = meta::_t< sized_view_concept< T > >
 
template<typename T >
using ranges::v3::SizedRange = concepts::models< concepts::SizedRange, T >
 
template<typename T >
using ranges::v3::SizedView = concepts::models< concepts::SizedView, T >
 
template<typename T >
using ranges::v3::View = concepts::models< concepts::View, T >
 
template<typename T >
using ranges::v3::view_concept = concepts::most_refined< meta::list< concepts::View, concepts::Range >, T >
 
template<typename T >
using ranges::v3::view_concept_t = meta::_t< view_concept< T > >