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

#include <mdspan.hpp>

Public Types

using accessor_type = AccessorPolicy
 
using const_iterator = const_iterator< basic_mdspan >
 
using extents_type = span_extents<(... &&(Extents !=dynamic_extent)), extents< Extents... > >
 
using index_type = typename extents_type::index_type
 
using indexer_type = span_indexer< extents_type >
 
using iterator = iterator< basic_mdspan >
 
using layout_type = LayoutPolicy
 
using parent = span_extents_common< extents< Extents... > >
 
using pointer = typename accessor_type::pointer
 
using reference = typename accessor_type::reference
 
using value_type = T
 

Public Member Functions

template<typename... DynamicExtents>
constexpr basic_mdspan (pointer data, DynamicExtents &&... ext)
 
constexpr iterator begin ()
 
constexpr const_iterator begin () const
 
constexpr auto begin_circular ()
 
constexpr auto begin_circular () const
 
constexpr const_iterator cbegin () const
 
constexpr auto cbegin_circular () const
 
constexpr const_iterator cend () const
 
constexpr iterator end ()
 
constexpr const_iterator end () const
 
constexpr size_t extent (size_t index) const
 
template<typename... Indices>
constexpr reference operator() (Indices &&... indices)
 
template<typename... Indices>
constexpr reference operator() (Indices &&... indices) const
 
constexpr size_t size () const
 

Public Attributes

dyn_extents< parent::rank()> ext_
 
std::array< index_type, parent::rank()> offsets_
 

Member Typedef Documentation

◆ accessor_type

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

◆ const_iterator

template<typename T , size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
using aie::detail::basic_mdspan< T, extents< Extents... >, LayoutPolicy, AccessorPolicy >::const_iterator = const_iterator<basic_mdspan>

◆ extents_type

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

◆ index_type

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

◆ indexer_type

template<typename T , size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
using aie::detail::basic_mdspan< T, extents< Extents... >, LayoutPolicy, AccessorPolicy >::indexer_type = span_indexer<extents_type>

◆ iterator

template<typename T , size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
using aie::detail::basic_mdspan< T, extents< Extents... >, LayoutPolicy, AccessorPolicy >::iterator = iterator<basic_mdspan>

◆ layout_type

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

◆ parent

using aie::detail::span_extents< IsStatic, extents< Extents... > >::parent = span_extents_common<extents< Extents... > >
inherited

◆ pointer

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

◆ reference

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

◆ value_type

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

Constructor & Destructor Documentation

◆ basic_mdspan()

template<typename T , size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
template<typename... DynamicExtents>
constexpr aie::detail::basic_mdspan< T, extents< Extents... >, LayoutPolicy, AccessorPolicy >::basic_mdspan ( pointer  data,
DynamicExtents &&...  ext 
)
inlineconstexpr

Member Function Documentation

◆ begin() [1/2]

template<typename T , size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
constexpr iterator aie::detail::basic_mdspan< T, extents< Extents... >, LayoutPolicy, AccessorPolicy >::begin ( )
inlineconstexpr

◆ begin() [2/2]

template<typename T , size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
constexpr const_iterator aie::detail::basic_mdspan< T, extents< Extents... >, LayoutPolicy, AccessorPolicy >::begin ( ) const
inlineconstexpr

◆ begin_circular() [1/2]

template<typename T , size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
constexpr auto aie::detail::basic_mdspan< T, extents< Extents... >, LayoutPolicy, AccessorPolicy >::begin_circular ( )
inlineconstexpr

◆ begin_circular() [2/2]

template<typename T , size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
constexpr auto aie::detail::basic_mdspan< T, extents< Extents... >, LayoutPolicy, AccessorPolicy >::begin_circular ( ) const
inlineconstexpr

◆ cbegin()

template<typename T , size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
constexpr const_iterator aie::detail::basic_mdspan< T, extents< Extents... >, LayoutPolicy, AccessorPolicy >::cbegin ( ) const
inlineconstexpr

◆ cbegin_circular()

template<typename T , size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
constexpr auto aie::detail::basic_mdspan< T, extents< Extents... >, LayoutPolicy, AccessorPolicy >::cbegin_circular ( ) const
inlineconstexpr

◆ cend()

template<typename T , size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
constexpr const_iterator aie::detail::basic_mdspan< T, extents< Extents... >, LayoutPolicy, AccessorPolicy >::cend ( ) const
inlineconstexpr

◆ end() [1/2]

template<typename T , size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
constexpr iterator aie::detail::basic_mdspan< T, extents< Extents... >, LayoutPolicy, AccessorPolicy >::end ( )
inlineconstexpr

◆ end() [2/2]

template<typename T , size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
constexpr const_iterator aie::detail::basic_mdspan< T, extents< Extents... >, LayoutPolicy, AccessorPolicy >::end ( ) const
inlineconstexpr

◆ extent()

constexpr size_t aie::detail::span_extents< IsStatic, extents< Extents... > >::extent ( size_t  index) const
inlineconstexprinherited

◆ operator()() [1/2]

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

◆ operator()() [2/2]

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

◆ size()

template<typename T , size_t... Extents, typename LayoutPolicy , typename AccessorPolicy >
constexpr size_t aie::detail::basic_mdspan< T, extents< Extents... >, LayoutPolicy, AccessorPolicy >::size ( ) const
inlineconstexpr

Member Data Documentation

◆ ext_

dyn_extents<parent::rank()> aie::detail::span_extents< IsStatic, extents< Extents... > >::ext_
inherited

◆ offsets_

std::array<index_type, parent::rank()> aie::detail::span_extents< IsStatic, extents< Extents... > >::offsets_
inherited

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