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

## 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 >
concept | ranges::_range_ = requires( T & t ) { ranges::begin(t), ranges::end(t) ; }
| \concept range More...
template<typename T >
concept | ranges::bbidirectional_range
| \concept bidirectional_range More...
template<typename T >
concept | ranges::bborrowed_range
| \concept borrowed_range More...
concept | ranges::bidirectional_iterator< iterator_t< T > >
concept | ranges::bidirectional_range_ =
template<typename T >
concept | ranges::ccommon_range
| \concept common_range More...
template<typename T >
concept | ranges::ccontiguous_range
| \concept contiguous_range More...
concept | ranges::common_range_ =
concept | ranges::contiguous_range_ =
template<typename T >
constexpr bool | ranges::enable_view
template<typename T >
concept | ranges::fforward_range
| \concept forward_range More...
concept | ranges::forward_iterator< iterator_t< T > >
concept | ranges::forward_range_ =
template<typename T >
concept | ranges::iinput_range
| \concept input_range More...
concept | ranges::input_iterator< iterator_t< T > >
concept | ranges::input_range_ =
template<typename T , typename V >
concept | ranges::ooutput_range
| \concept output_range More...
concept | ranges::output_iterator< iterator_t< T >, V >
concept | ranges::output_range_ =
concept | ranges::random_access_iterator< iterator_t< T > >
concept | ranges::random_access_range_ =
template<typename T >
concept | ranges::rrandom_access_range
| \concept random_access_range More...
template<typename T >
concept | ranges::rrange
| \concept range More...
template<typename R >
constexpr bool | ranges::safe_range = borrowed_range<R>
concept | ranges::same_as< iterator_t< T >, sentinel_t< T > >
template<typename T >
concept | ranges::sized_range_ = requires( T & t ) { ranges::size(t) ; }
| \concept sized_range_ More...
template<typename T >
concept | ranges::ssized_range
| \concept sized_range More...
template<typename T >
concept | ranges::vview_
| \concept view_ More...
template<typename T >
concept | ranges::vviewable_range
| \concept viewable_range More...