AI Engine API User Guide (AIE) 2023.2
Loading...
Searching...
No Matches
aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy > Class Template Reference

#include <tiled_mdspan.hpp>

Public Types

using accessor_type = AccessorPolicy
 
using const_tile_iterator = const_tile_iterator< basic_tiled_mdspan >
 
using extents_type = tiled_span_extents<(... &&(Extents !=dynamic_extent)), extents< TileExtents... >, extents< Extents... > >
 
using index_type = typename extents_type::index_type
 
using indexer_type = tiled_span_indexer< extents_type >
 
using layout_type = LayoutPolicy
 
using pointer = typename accessor_type::pointer
 
using reference = typename accessor_type::reference
 
using tile_iterator = tile_iterator< basic_tiled_mdspan >
 
using value_type = T
 

Public Member Functions

template<typename... DynamicExtents>
constexpr basic_tiled_mdspan (T *data, DynamicExtents... ext)
 
template<size_t DimIndex, typename... Indices>
constexpr tile_iterator begin_dim (Indices &&... indices)
 
template<size_t DimIndex, typename... Indices>
constexpr const_tile_iterator begin_dim (Indices &&... indices) const
 
template<size_t DimIndex, typename... Indices>
constexpr auto begin_vector_dim (Indices &&... indices)
 
template<size_t DimIndex, typename... Indices>
constexpr auto begin_vector_dim (Indices &&... indices) const
 
template<size_t DimIndex, typename... Indices>
constexpr auto cbegin_vector_dim (Indices &&... indices) const
 
template<typename... Indices>
constexpr reference tiles (Indices &&... indices)
 
template<typename... Indices>
constexpr reference tiles (Indices &&... indices) const
 

Member Typedef Documentation

◆ accessor_type

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
using aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::accessor_type = AccessorPolicy

◆ const_tile_iterator

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
using aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::const_tile_iterator = const_tile_iterator<basic_tiled_mdspan>

◆ extents_type

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
using aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::extents_type = tiled_span_extents<(... && (Extents != dynamic_extent)), extents<TileExtents...>, extents<Extents...> >

◆ index_type

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
using aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::index_type = typename extents_type::index_type

◆ indexer_type

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
using aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::indexer_type = tiled_span_indexer<extents_type>

◆ layout_type

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
using aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::layout_type = LayoutPolicy

◆ pointer

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
using aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::pointer = typename accessor_type::pointer

◆ reference

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
using aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::reference = typename accessor_type::reference

◆ tile_iterator

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
using aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::tile_iterator = tile_iterator<basic_tiled_mdspan>

◆ value_type

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
using aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::value_type = T

Constructor & Destructor Documentation

◆ basic_tiled_mdspan()

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
template<typename... DynamicExtents>
constexpr aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::basic_tiled_mdspan ( T *  data,
DynamicExtents...  ext 
)
inlineconstexpr

Member Function Documentation

◆ begin_dim() [1/2]

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
template<size_t DimIndex, typename... Indices>
constexpr tile_iterator aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::begin_dim ( Indices &&...  indices)
inlineconstexpr

◆ begin_dim() [2/2]

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
template<size_t DimIndex, typename... Indices>
constexpr const_tile_iterator aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::begin_dim ( Indices &&...  indices) const
inlineconstexpr

◆ begin_vector_dim() [1/2]

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
template<size_t DimIndex, typename... Indices>
constexpr auto aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::begin_vector_dim ( Indices &&...  indices)
inlineconstexpr

◆ begin_vector_dim() [2/2]

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
template<size_t DimIndex, typename... Indices>
constexpr auto aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::begin_vector_dim ( Indices &&...  indices) const
inlineconstexpr

◆ cbegin_vector_dim()

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
template<size_t DimIndex, typename... Indices>
constexpr auto aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::cbegin_vector_dim ( Indices &&...  indices) const
inlineconstexpr

◆ tiles() [1/2]

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
template<typename... Indices>
constexpr reference aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::tiles ( Indices &&...  indices)
inlineconstexpr

◆ tiles() [2/2]

template<typename T , size_t... TileExtents, size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
template<typename... Indices>
constexpr reference aie::detail::basic_tiled_mdspan< T, extents< TileExtents... >, extents< Extents... >, LayoutPolicy, AccessorPolicy >::tiles ( Indices &&...  indices) const
inlineconstexpr

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