AI Engine API User Guide (AIE) 2023.2
Loading...
Searching...
No Matches
aie::detail::vector_iterator< T, Elems, Stride, Resource > Class Template Reference

#include <array_helpers.hpp>

Public Types

using difference_type = ptrdiff_t
 
using elem_type = aie_dm_resource_remove_t< T >
 
using iterator_category = std::random_access_iterator_tag
 
using pointer = std::conditional_t< std::is_const_v< T >, const value_type *, value_type * >
 
using reference = std::conditional_t< std::is_const_v< T >, const value_type &, value_type & >
 
using value_type = vector_type
 
using vector_type = add_memory_bank_t< Resource, aie_dm_resource_set_t< vector< std::remove_const_t< elem_type >, Elems >, aie_dm_resource_get_v< T > > >
 

Public Member Functions

template<size_t Stride2 = Stride>
requires (Stride2 != dynamic_extent)
constexpr vector_iterator (T *ptr)
 
template<size_t Stride2 = Stride>
requires (Stride2 == dynamic_extent)
constexpr vector_iterator (T *ptr, size_t stride=1)
 
constexpr bool operator!= (const vector_iterator &rhs)
 
constexpr reference operator* ()
 
constexpr vector_iterator operator+ (difference_type off) const
 
constexpr vector_iteratoroperator++ ()
 
constexpr vector_iterator operator++ (int)
 
constexpr vector_iteratoroperator+= (difference_type off)
 
constexpr vector_iterator operator- (difference_type off) const
 
constexpr vector_iteratoroperator-- ()
 
constexpr vector_iterator operator-- (int)
 
constexpr vector_iteratoroperator-= (difference_type off)
 
constexpr pointer operator-> ()
 
constexpr bool operator== (const vector_iterator &rhs)
 
constexpr reference operator[] (difference_type off)
 
constexpr reference operator[] (difference_type off) const
 

Member Typedef Documentation

◆ difference_type

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
using aie::detail::vector_iterator< T, Elems, Stride, Resource >::difference_type = ptrdiff_t

◆ elem_type

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
using aie::detail::vector_iterator< T, Elems, Stride, Resource >::elem_type = aie_dm_resource_remove_t<T>

◆ iterator_category

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
using aie::detail::vector_iterator< T, Elems, Stride, Resource >::iterator_category = std::random_access_iterator_tag

◆ pointer

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
using aie::detail::vector_iterator< T, Elems, Stride, Resource >::pointer = std::conditional_t<std::is_const_v<T>, const value_type *, value_type *>

◆ reference

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
using aie::detail::vector_iterator< T, Elems, Stride, Resource >::reference = std::conditional_t<std::is_const_v<T>, const value_type &, value_type &>

◆ value_type

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
using aie::detail::vector_iterator< T, Elems, Stride, Resource >::value_type = vector_type

◆ vector_type

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
using aie::detail::vector_iterator< T, Elems, Stride, Resource >::vector_type = add_memory_bank_t<Resource, aie_dm_resource_set_t<vector<std::remove_const_t<elem_type>, Elems>, aie_dm_resource_get_v<T> >>

Constructor & Destructor Documentation

◆ vector_iterator() [1/2]

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
template<size_t Stride2 = Stride>
requires (Stride2 == dynamic_extent)
constexpr aie::detail::vector_iterator< T, Elems, Stride, Resource >::vector_iterator ( T *  ptr,
size_t  stride = 1 
)
inlineconstexpr

◆ vector_iterator() [2/2]

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
template<size_t Stride2 = Stride>
requires (Stride2 != dynamic_extent)
constexpr aie::detail::vector_iterator< T, Elems, Stride, Resource >::vector_iterator ( T *  ptr)
inlineconstexpr

Member Function Documentation

◆ operator!=()

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
constexpr bool aie::detail::vector_iterator< T, Elems, Stride, Resource >::operator!= ( const vector_iterator< T, Elems, Stride, Resource > &  rhs)
inlineconstexpr

◆ operator*()

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
constexpr reference aie::detail::vector_iterator< T, Elems, Stride, Resource >::operator* ( )
inlineconstexpr

◆ operator+()

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
constexpr vector_iterator aie::detail::vector_iterator< T, Elems, Stride, Resource >::operator+ ( difference_type  off) const
inlineconstexpr

◆ operator++() [1/2]

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
constexpr vector_iterator & aie::detail::vector_iterator< T, Elems, Stride, Resource >::operator++ ( )
inlineconstexpr

◆ operator++() [2/2]

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
constexpr vector_iterator aie::detail::vector_iterator< T, Elems, Stride, Resource >::operator++ ( int  )
inlineconstexpr

◆ operator+=()

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
constexpr vector_iterator & aie::detail::vector_iterator< T, Elems, Stride, Resource >::operator+= ( difference_type  off)
inlineconstexpr

◆ operator-()

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
constexpr vector_iterator aie::detail::vector_iterator< T, Elems, Stride, Resource >::operator- ( difference_type  off) const
inlineconstexpr

◆ operator--() [1/2]

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
constexpr vector_iterator & aie::detail::vector_iterator< T, Elems, Stride, Resource >::operator-- ( )
inlineconstexpr

◆ operator--() [2/2]

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
constexpr vector_iterator aie::detail::vector_iterator< T, Elems, Stride, Resource >::operator-- ( int  )
inlineconstexpr

◆ operator-=()

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
constexpr vector_iterator & aie::detail::vector_iterator< T, Elems, Stride, Resource >::operator-= ( difference_type  off)
inlineconstexpr

◆ operator->()

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
constexpr pointer aie::detail::vector_iterator< T, Elems, Stride, Resource >::operator-> ( )
inlineconstexpr

◆ operator==()

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
constexpr bool aie::detail::vector_iterator< T, Elems, Stride, Resource >::operator== ( const vector_iterator< T, Elems, Stride, Resource > &  rhs)
inlineconstexpr

◆ operator[]() [1/2]

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
constexpr reference aie::detail::vector_iterator< T, Elems, Stride, Resource >::operator[] ( difference_type  off)
inlineconstexpr

◆ operator[]() [2/2]

template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
constexpr reference aie::detail::vector_iterator< T, Elems, Stride, Resource >::operator[] ( difference_type  off) const
inlineconstexpr

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