cuda-kat
CUDA kernel author's tools
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
kat::span< Type, Extent > Class Template Reference

Public Types

using value_type = typename std::remove_cv< Type >::type
 
using element_type = Type
 
using size_type = std::size_t
 
using reference = element_type &
 
using const_reference = const element_type &
 
using pointer = Type *
 
using const_pointer = const Type *
 
using iterator = kat::detail::normal_iterator< pointer, span >
 
using const_iterator = kat::detail::normal_iterator< const_pointer, span >
 
using reverse_iterator = std::reverse_iterator< iterator >
 
using const_reverse_iterator = std::reverse_iterator< const_iterator >
 
using difference_type = std::ptrdiff_t
 

Public Member Functions

constexpr KAT_HD span (const span &) noexcept=default
 
template<typename T , std::size_t ArrayExtent, typename = typename std::enable_if<is_compatible_array<T, ArrayExtent>::value>::type>
constexpr KAT_HD span (T(&arr)[ArrayExtent]) noexcept
 
template<typename T , std::size_t ArrayExtent, typename = typename std::enable_if<is_compatible_array<T, ArrayExtent>::value>::type>
constexpr KAT_HD span (kat::array< T, ArrayExtent > &arr) noexcept
 
template<typename T , std::size_t ArrayExtent, typename = typename std::enable_if<is_compatible_array<const T, ArrayExtent>::value>::type>
constexpr KAT_HD span (const kat::array< T, ArrayExtent > &arr) noexcept
 
template<typename T , std::size_t ArrayExtent, typename = typename std::enable_if<is_compatible_array<T, ArrayExtent>::value>::type>
constexpr KAT_HOST span (std::array< T, ArrayExtent > &arr) noexcept
 
template<typename T , std::size_t ArrayExtent, typename = typename std::enable_if<is_compatible_array<const T, ArrayExtent>::value>::type>
constexpr KAT_HOST span (const std::array< T, ArrayExtent > &arr) noexcept
 
constexpr KAT_HD span (pointer first, pointer last) noexcept
 
constexpr KAT_HD span (pointer first, std::size_t count) noexcept
 
template<typename OType , std::size_t OExtent>
constexpr KAT_HD span (const span< OType, OExtent > &s) noexcept
 
constexpr KAT_HD spanoperator= (const span &) noexcept=default
 
constexpr KAT_HD size_type size () const noexcept
 
constexpr KAT_HD size_type size_bytes () const noexcept
 
constexpr KAT_HD bool empty () const noexcept
 
constexpr KAT_HD reference front () const noexcept
 
constexpr KAT_HD reference back () const noexcept
 
constexpr KAT_HD reference operator[] (size_type idx) const noexcept
 
constexpr KAT_HD pointer data () const noexcept
 
constexpr KAT_HD iterator begin () const noexcept
 
constexpr KAT_HD const_iterator cbegin () const noexcept
 
constexpr KAT_HD iterator end () const noexcept
 
constexpr KAT_HD const_iterator cend () const noexcept
 
constexpr KAT_HD reverse_iterator rbegin () const noexcept
 
constexpr KAT_HD const_reverse_iterator crbegin () const noexcept
 
constexpr KAT_HD reverse_iterator rend () const noexcept
 
constexpr KAT_HD const_reverse_iterator crend () const noexcept
 
template<std::size_t Count>
constexpr KAT_HD span< element_type, Count > first () const noexcept
 
constexpr KAT_HD span< element_type, dynamic_extent > first (size_type count) const noexcept
 
template<std::size_t Count>
constexpr KAT_HD span< element_type, Count > last () const noexcept
 
constexpr KAT_HD span< element_type, dynamic_extent > last (size_type count) const noexcept
 
template<std::size_t Offset, std::size_t Count = dynamic_extent>
constexpr KAT_HD auto subspan () const noexcept -> span< element_type, S_subspan_extent< Offset, Count >()>
 
template<std::size_t Offset>
constexpr KAT_HD auto subspan () const noexcept -> span< element_type, S_subspan_extent< Offset, dynamic_extent >()>
 
constexpr KAT_HD span< element_type, dynamic_extent > subspan (size_type offset, size_type count=dynamic_extent) const noexcept
 

Static Public Member Functions

template<std::size_t Offset, std::size_t Count, typename = typename std::enable_if<Count != dynamic_extent>::type>
static constexpr KAT_HD std::size_t S_subspan_extent ()
 
template<std::size_t Offset>
static constexpr KAT_HD std::size_t S_subspan_extent ()
 

Static Public Attributes

static constexpr const std::size_t extent = Extent
 

The documentation for this class was generated from the following file: