Range-v3
Range algorithms, views, and actions for the Standard Library
 
Loading...
Searching...
No Matches
Range Concepts

Range concepts More...

Concepts

concept  ranges::_range_
 The _range_ concept.
 
concept  ranges::range
 The range concept.
 
concept  ranges::borrowed_range
 The borrowed_range concept.
 
concept  ranges::output_range_
 The output_range_ concept.
 
concept  ranges::output_range
 The output_range concept.
 
concept  ranges::input_range_
 The input_range_ concept.
 
concept  ranges::input_range
 The input_range concept.
 
concept  ranges::forward_range_
 The forward_range_ concept.
 
concept  ranges::forward_range
 The forward_range concept.
 
concept  ranges::bidirectional_range_
 The bidirectional_range_ concept.
 
concept  ranges::bidirectional_range
 The bidirectional_range concept.
 
concept  ranges::random_access_range_
 The random_access_range_ concept.
 
concept  ranges::random_access_range
 The random_access_range concept.
 
concept  ranges::contiguous_range_
 The contiguous_range_ concept.
 
concept  ranges::contiguous_range
 The contiguous_range concept.
 
concept  ranges::common_range_
 The common_range_ concept.
 
concept  ranges::common_range
 The common_range concept.
 
concept  ranges::sized_range_
 The sized_range_ concept.
 
concept  ranges::sized_range
 The sized_range concept.
 
concept  ranges::view_
 The view_ concept.
 
concept  ranges::viewable_range
 The viewable_range concept.
 

Classes

struct  ranges::bidirectional_range_tag
 
struct  ranges::common_range_tag
 
struct  ranges::contiguous_range_tag
 
struct  ranges::forward_range_tag
 
struct  ranges::input_range_tag
 
struct  ranges::random_access_range_tag
 
struct  ranges::range_tag
 
struct  ranges::sized_range_tag
 

Typedefs

template<typename Rng >
using ranges::common_range_tag_of
 
template<typename Rng >
using ranges::range_tag_of
 
template<typename Rng >
using ranges::sized_range_tag_of
 

Variables

template<typename T >
constexpr bool ranges::enable_view
 
template<typename R >
constexpr bool ranges::safe_range = borrowed_range<R>
 

Detailed Description

Range concepts

Typedef Documentation

◆ common_range_tag_of

template<typename Rng >
using ranges::common_range_tag_of

#include <range/v3/range/concepts.hpp>

Initial value:
std::enable_if_t<
meta::conditional_t<common_range<Rng>, common_range_tag, range_tag>>
The range concept.
Definition concepts.hpp:69
typename detail::_cond< If >::template invoke< Then, Else > conditional_t
Select one type or another depending on a compile-time Boolean.
Definition meta.hpp:1148

◆ range_tag_of

template<typename Rng >
using ranges::range_tag_of

#include <range/v3/range/concepts.hpp>

Initial value:
std::enable_if_t<
contiguous_range_tag,
random_access_range_tag,
bidirectional_range_tag,
forward_range_tag,
input_range_tag,
range_tag>>>>>>
The bidirectional_range concept.
Definition concepts.hpp:115
The contiguous_range concept.
Definition concepts.hpp:148
The forward_range concept.
Definition concepts.hpp:106
The input_range concept.
Definition concepts.hpp:97
The random_access_range concept.
Definition concepts.hpp:125

◆ sized_range_tag_of

template<typename Rng >
using ranges::sized_range_tag_of

#include <range/v3/range/concepts.hpp>

Initial value:
std::enable_if_t<
meta::conditional_t<sized_range<Rng>, sized_range_tag, range_tag>>

Variable Documentation

◆ enable_view

template<typename T >
bool ranges::enable_view
constexpr

#include <range/v3/range/concepts.hpp>

Initial value:
=
ext::enable_view<T>::value