cuda-kat
CUDA kernel author's tools
|
This file implements kat::span
an equivalent of C++'s std::span
which may be used both in host-side and CUDA-device-side code, along with some supporting functions and overloaded operators for that class.
More...
#include <type_traits>
#include <iterator>
#include <array>
#include <cassert>
#include <kat/containers/array.hpp>
#include "detail/normal_iterator.hpp"
#include <kat/detail/execution_space_specifiers.hpp>
#include <kat/detail/range_access.hpp>
Go to the source code of this file.
Typedefs | |
template<typename T > | |
using | kat::detail::iter_reference_t = decltype(*std::declval< T & >()) |
Functions | |
template<class Type > | |
constexpr KAT_HD span< Type > | kat::make_span (Type *first, Type *last) |
template<class Type > | |
constexpr KAT_HD span< Type > | kat::make_span (Type *ptr, std::size_t count) |
template<class Type , std::size_t Extent> | |
constexpr KAT_HD span< Type, Extent > | kat::make_span (Type(&arr)[Extent]) |
template<class Type , std::size_t Extent> | |
constexpr KAT_HD span< const Type, Extent > | kat::make_span (const kat::array< Type, Extent > &arr) |
template<class Type , std::size_t Extent> | |
constexpr KAT_HD span< Type, Extent > | kat::make_span (kat::array< Type, Extent > &arr) |
template<class Container > | |
constexpr KAT_HD span< typename Container::value_type > | kat::make_span (Container &container) |
template<class Container > | |
constexpr KAT_HD span< const typename Container::value_type > | kat::make_span (const Container &container) |
template<class Pointer > | |
constexpr KAT_HD span< typename Pointer::element_type > | kat::make_span (Pointer &container, std::size_t count) |
template<class Pointer > | |
constexpr KAT_HD span< typename Pointer::element_type > | kat::make_span (Pointer &container) |
template<std::size_t Index, typename Type , std::size_t Extent> | |
constexpr KAT_HD Type & | std::get (kat::span< Type, Extent > sp) noexcept |
Variables | |
constexpr const std::size_t | kat::dynamic_extent = static_cast<std::size_t>(-1) |
This file implements kat::span
an equivalent of C++'s std::span
which may be used both in host-side and CUDA-device-side code, along with some supporting functions and overloaded operators for that class.