Range-v3 Range algorithms, views, and actions for the Standard Library |

Classes | Namespaces | Typedefs
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.

## Namespaces
| ranges
| unstable_remove have O(1) complexity for each element remove, unlike remove O(n) [for worst case] Each erased element overwritten (moved in) with last one.

## 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 > >