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 = typedef decltype(std::begin(std::declval<R&>()))

◆ range_difference_t

◆ range_reference_t

template<typename R >
using ck_tile::ranges::range_reference_t = typedef iter_reference_t<ranges::iterator_t<R> >

◆ range_size_t

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

◆ range_value_t

template<typename R >
using ck_tile::ranges::range_value_t = typedef iter_value_t<ranges::iterator_t<R> >

◆ sentinel_t

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

Variable Documentation

◆ is_range_v

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