iterator.hpp Source File

iterator.hpp Source File#

Composable Kernel: iterator.hpp Source File
iterator.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: MIT
2// Copyright (c) 2018-2023, Advanced Micro Devices, Inc. All rights reserved.
3
4#pragma once
5
6#include <iterator>
7#include <utility>
8
9#include "ck/utility/type.hpp"
10
11namespace ck {
12
13template <typename T>
14using iter_value_t = typename std::iterator_traits<remove_cvref_t<T>>::value_type;
15
16template <typename T>
17using iter_reference_t = decltype(*std::declval<T&>());
18
19template <typename T>
20using iter_difference_t = typename std::iterator_traits<remove_cvref_t<T>>::difference_type;
21
22} // namespace ck
Definition ck.hpp:268
typename std::iterator_traits< remove_cvref_t< T > >::difference_type iter_difference_t
Definition iterator.hpp:20
typename std::iterator_traits< remove_cvref_t< T > >::value_type iter_value_t
Definition iterator.hpp:14
decltype(*std::declval< T & >()) iter_reference_t
Definition iterator.hpp:17