AI Engine API User Guide (AIE) 2023.2
Loading...
Searching...
No Matches
aie::detail::unaligned_vector_iterator< T, Elems, 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::forward_iterator_tag
 
using pointer = std::conditional_t< std::is_const_v< T >, const value_type *, value_type * >
 
using reference = vector_ref_type
 
using value_type = vector_type
 
using vector_ref_type = unaligned_vector_ref< T, vector_type::size(), Resource >
 
using vector_type = vector< std::remove_const_t< elem_type >, Elems >
 

Public Member Functions

constexpr unaligned_vector_iterator (T *ptr)
 
constexpr bool operator!= (const unaligned_vector_iterator &rhs)
 
constexpr vector_ref_type operator* ()
 
constexpr vector_ref_type operator* () const
 
constexpr unaligned_vector_iteratoroperator++ ()
 
constexpr unaligned_vector_iterator operator++ (int)
 
constexpr bool operator== (const unaligned_vector_iterator &rhs)
 

Member Typedef Documentation

◆ difference_type

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

◆ elem_type

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

◆ iterator_category

template<typename T , unsigned Elems, aie_dm_resource Resource>
using aie::detail::unaligned_vector_iterator< T, Elems, Resource >::iterator_category = std::forward_iterator_tag

◆ pointer

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

◆ reference

template<typename T , unsigned Elems, aie_dm_resource Resource>
using aie::detail::unaligned_vector_iterator< T, Elems, Resource >::reference = vector_ref_type

◆ value_type

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

◆ vector_ref_type

template<typename T , unsigned Elems, aie_dm_resource Resource>
using aie::detail::unaligned_vector_iterator< T, Elems, Resource >::vector_ref_type = unaligned_vector_ref<T, vector_type::size(), Resource>

◆ vector_type

template<typename T , unsigned Elems, aie_dm_resource Resource>
using aie::detail::unaligned_vector_iterator< T, Elems, Resource >::vector_type = vector<std::remove_const_t<elem_type>, Elems>

Constructor & Destructor Documentation

◆ unaligned_vector_iterator()

template<typename T , unsigned Elems, aie_dm_resource Resource>
constexpr aie::detail::unaligned_vector_iterator< T, Elems, Resource >::unaligned_vector_iterator ( T *  ptr)
inlineconstexpr

Member Function Documentation

◆ operator!=()

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

◆ operator*() [1/2]

template<typename T , unsigned Elems, aie_dm_resource Resource>
constexpr vector_ref_type aie::detail::unaligned_vector_iterator< T, Elems, Resource >::operator* ( )
inlineconstexpr

◆ operator*() [2/2]

template<typename T , unsigned Elems, aie_dm_resource Resource>
constexpr vector_ref_type aie::detail::unaligned_vector_iterator< T, Elems, Resource >::operator* ( ) const
inlineconstexpr

◆ operator++() [1/2]

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

◆ operator++() [2/2]

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

◆ operator==()

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

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