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

## Classes

struct | ranges::incrementable_traits< detail::projected_< I, Proj > >
struct | ranges::sentinel_tag
struct | ranges::sized_sentinel_tag

## Concepts

concept | ranges::readable_
| The `readable_` concept.
concept | ranges::indirectly_readable
| The `indirectly_readable` concept.
concept | ranges::writable_
| The `writable_` concept.
concept | ranges::indirectly_writable
| The `indirectly_writable` concept.
concept | ranges::weakly_incrementable_
| The `weakly_incrementable_` concept.
concept | ranges::weakly_incrementable
| The `weakly_incrementable` concept.
concept | ranges::incrementable_
| The `incrementable_` concept.
concept | ranges::incrementable
| The `incrementable` concept.
concept | ranges::input_or_output_iterator_
| The `input_or_output_iterator_` concept.
concept | ranges::input_or_output_iterator
| The `input_or_output_iterator` concept.
concept | ranges::sentinel_for
| The `sentinel_for` concept.
concept | ranges::sized_sentinel_for_
| The `sized_sentinel_for_` concept.
concept | ranges::sized_sentinel_for
| The `sized_sentinel_for` concept.
concept | ranges::output_iterator_
| The `output_iterator_` concept.
concept | ranges::output_iterator
| The `output_iterator` concept.
concept | ranges::with_category_
| The `with_category_` concept.
concept | ranges::input_iterator
| The `input_iterator` concept.
concept | ranges::forward_iterator
| The `forward_iterator` concept.
concept | ranges::bidirectional_iterator_
| The `bidirectional_iterator_` concept.
concept | ranges::bidirectional_iterator
| The `bidirectional_iterator` concept.
concept | ranges::random_access_iterator_
| The `random_access_iterator_` concept.
concept | ranges::random_access_iterator
| The `random_access_iterator` concept.
concept | ranges::contiguous_iterator_
| The `contiguous_iterator_` concept.
concept | ranges::contiguous_iterator
| The `contiguous_iterator` concept.
concept | ranges::indirectly_unary_invocable
| The `indirectly_unary_invocable` concept.
concept | ranges::indirectly_regular_unary_invocable_
| The `indirectly_regular_unary_invocable_` concept.
concept | ranges::indirectly_regular_unary_invocable
| The `indirectly_regular_unary_invocable` concept.
concept | ranges::indirect_unary_predicate_
| The `indirect_unary_predicate_` concept.
concept | ranges::indirect_unary_predicate
| The `indirect_unary_predicate` concept.
concept | ranges::indirect_binary_predicate_impl_
| The `indirect_binary_predicate_impl_` concept.
concept | ranges::indirect_binary_predicate_
| The `indirect_binary_predicate_` concept.
concept | ranges::indirect_relation_
| The `indirect_relation_` concept.
concept | ranges::indirect_relation
| The `indirect_relation` concept.
concept | ranges::indirect_strict_weak_order_
| The `indirect_strict_weak_order_` concept.
concept | ranges::indirect_strict_weak_order
| The `indirect_strict_weak_order` concept.
concept | ranges::indirectly_movable_
| The `indirectly_movable_` concept.
concept | ranges::indirectly_movable
| The `indirectly_movable` concept.
concept | ranges::indirectly_movable_storable_
| The `indirectly_movable_storable_` concept.
concept | ranges::indirectly_movable_storable
| The `indirectly_movable_storable` concept.
concept | ranges::indirectly_copyable_
| The `indirectly_copyable_` concept.
concept | ranges::indirectly_copyable
| The `indirectly_copyable` concept.
concept | ranges::indirectly_copyable_storable_
| The `indirectly_copyable_storable_` concept.
concept | ranges::indirectly_copyable_storable
| The `indirectly_copyable_storable` concept.
concept | ranges::indirectly_swappable_
| The `indirectly_swappable_` concept.
concept | ranges::indirectly_swappable
| The `indirectly_swappable` concept.
concept | ranges::projected_indirect_relation_
| The `projected_indirect_relation_` concept.
concept | ranges::indirectly_comparable
| The `indirectly_comparable` concept.
concept | ranges::permutable
| The `permutable` concept.
concept | ranges::projected_indirect_strict_weak_order_
| The `projected_indirect_strict_weak_order_` concept.
concept | ranges::mergeable
concept | ranges::sortable
| The `sortable` concept.

## Typedefs

template<typename Fun , typename... Is>
using | ranges::indirect_result_t = detail::enable_if_t<(bool) and_v<(bool) indirectly_readable< Is >... >, invoke_result_t< Fun, iter_reference_t< Is >... > >
template<typename Rng >

using

ranges::iterator_tag_of = std::enable_if_t< input_iterator< Rng >, meta::conditional_t< contiguous_iterator< Rng >, ranges::contiguous_iterator_tag, meta::conditional_t< random_access_iterator< Rng >, std::random_access_iterator_tag, meta::conditional_t< bidirectional_iterator< Rng >, std::bidirectional_iterator_tag, meta::conditional_t< forward_iterator< Rng >, std::forward_iterator_tag, std::input_iterator_tag > > > > >

template<typename I , typename Proj >
using | ranges::projected = typename detail::select_projected_< Proj >::template apply< I >
template<typename S , typename I >
using | ranges::sentinel_tag_of = std::enable_if_t< sentinel_for< S, I >, meta::conditional_t< sized_sentinel_for< S, I >, sized_sentinel_tag, sentinel_tag > >

## Variables

concept | ranges::P1
concept | ranges::projected< I2, P2 >
template<typename I >
constexpr bool | ranges::readable
template<typename O , typename T >
constexpr bool | ranges::writable