Loading...
Searching...
No Matches
concepts.hpp File Reference

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

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

## Typedefs

template<typename Rng >
using | ranges::common_range_tag_of = std::enable_if_t< range< Rng >, meta::conditional_t< common_range< Rng >, common_range_tag, range_tag > >
template<typename Rng >

using

ranges::range_tag_of = std::enable_if_t< range< Rng >, meta::conditional_t< contiguous_range< Rng >, contiguous_range_tag, meta::conditional_t< random_access_range< Rng >, random_access_range_tag, meta::conditional_t< bidirectional_range< Rng >, bidirectional_range_tag, meta::conditional_t< forward_range< Rng >, forward_range_tag, meta::conditional_t< input_range< Rng >, input_range_tag, range_tag > > > > > >

template<typename Rng >
using | ranges::sized_range_tag_of = std::enable_if_t< range< Rng >, meta::conditional_t< sized_range< Rng >, sized_range_tag, range_tag > >

## Variables

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