ranges Namespace Reference

ranges Namespace Reference#

Composable Kernel: ck_tile::ranges Namespace Reference
ck_tile::ranges Namespace Reference

Classes

struct  is_range
struct  is_range< T, std::void_t< decltype(std::begin(std::declval< T & >())), decltype(std::end(std::declval< T & >()))> >
struct  is_sized_range
struct  is_sized_range< T, std::void_t< decltype(std::size(std::declval< T & >()))> >

Typedefs

template<typename R>
using iterator_t = decltype(std::begin(std::declval<R&>()))
template<typename R>
using sentinel_t = decltype(std::end(std::declval<R&>()))
template<typename R>
using range_size_t = decltype(std::size(std::declval<R&>()))
template<typename R>
using range_difference_t = ck_tile::iter_difference_t<ranges::iterator_t<R>>
template<typename R>
using range_value_t = iter_value_t<ranges::iterator_t<R>>
template<typename R>
using range_reference_t = iter_reference_t<ranges::iterator_t<R>>

Variables

template<typename T>
constexpr bool is_range_v = is_range<T>::value

Typedef Documentation

◆ iterator_t

template<typename R>
using ck_tile::ranges::iterator_t = decltype(std::begin(std::declval<R&>()))

◆ range_difference_t

◆ range_reference_t

◆ range_size_t

template<typename R>
using ck_tile::ranges::range_size_t = decltype(std::size(std::declval<R&>()))

◆ range_value_t

◆ sentinel_t

template<typename R>
using ck_tile::ranges::sentinel_t = decltype(std::end(std::declval<R&>()))

Variable Documentation

◆ is_range_v

template<typename T>
bool ck_tile::ranges::is_range_v = is_range<T>::value
inlineconstexpr