ranges.hpp File Reference#
ranges.hpp File Reference
#include <iterator>#include <type_traits>#include <utility>Go to the source code of this file.
Namespaces | |
| namespace | ck_tile |
| namespace | ck_tile::ranges |
Typedefs | |
| template<typename T> | |
| using | ck_tile::iter_value_t = typename std::iterator_traits<remove_cvref_t<T>>::value_type |
| template<typename T> | |
| using | ck_tile::iter_reference_t = decltype(*std::declval<T&>()) |
| template<typename T> | |
| using | ck_tile::iter_difference_t = typename std::iterator_traits<remove_cvref_t<T>>::difference_type |
| template<typename R> | |
| using | ck_tile::ranges::iterator_t = decltype(std::begin(std::declval<R&>())) |
| template<typename R> | |
| using | ck_tile::ranges::sentinel_t = decltype(std::end(std::declval<R&>())) |
| template<typename R> | |
| using | ck_tile::ranges::range_size_t = decltype(std::size(std::declval<R&>())) |
| template<typename R> | |
| using | ck_tile::ranges::range_difference_t = ck_tile::iter_difference_t<ranges::iterator_t<R>> |
| template<typename R> | |
| using | ck_tile::ranges::range_value_t = iter_value_t<ranges::iterator_t<R>> |
| template<typename R> | |
| using | ck_tile::ranges::range_reference_t = iter_reference_t<ranges::iterator_t<R>> |
Variables | |
| template<typename T> | |
| constexpr bool | ck_tile::ranges::is_range_v = is_range<T>::value |