AI Engine API User Guide (AIE) 2022.2
array_helpers.hpp File Reference
#include <cstddef>
#include <type_traits>
#include "vector.hpp"
#include "aie1/array_helpers.hpp"
#include "ld_st.hpp"

Classes

struct  aie::detail::get_value_type< T >
 
struct  aie::detail::get_value_type< vector< T, Elems > >
 
struct  aie::detail::iterator_stride< Stride >
 
struct  aie::detail::iterator_stride< dynamic_extent >
 
class  aie::detail::pattern_iterator< T, Steps >
 
class  aie::detail::unaligned_vector_iterator< T, Elems, Resource >
 
class  aie::detail::vector_random_circular_iterator< T, Elems, ArrayElems, Stride, Resource >
 

Namespaces

namespace  aie
 
namespace  aie::detail
 

Macros

#define __AIE_API_DETAIL_ARRAY_HELPERS__HPP__
 

Typedefs

template<typename T , size_t Elems, size_t Stride = 1, aie_dm_resource Resource = aie_dm_resource::none>
using aie::detail::const_circular_iterator = circular_iterator< const T, Elems, Stride, Resource >
 
template<typename T , unsigned Steps>
using aie::detail::const_pattern_iterator = pattern_iterator< const std::remove_const_t< T >, Steps >
 
template<typename T , size_t Elems, size_t Stride = 1, aie_dm_resource Resource = aie_dm_resource::none>
using aie::detail::const_random_circular_iterator = random_circular_iterator< const T, Elems, Stride, Resource >
 
template<typename T , unsigned Elems, size_t Stride = 1, aie_dm_resource Resource = aie_dm_resource::none>
using aie::detail::const_restrict_vector_iterator = restrict_vector_iterator< const std::remove_const_t< T >, Elems, Stride, Resource >
 
template<typename T , unsigned Elems, aie_dm_resource Resource = aie_dm_resource::none>
using aie::detail::const_unaligned_vector_iterator = unaligned_vector_iterator< const std::remove_const_t< T >, Elems, Resource >
 
template<typename T , unsigned N, size_t Elems, size_t Stride = 1, aie_dm_resource Resource = aie_dm_resource::none>
using aie::detail::const_vector_circular_iterator = vector_circular_iterator< const T, N, Elems, Stride, Resource >
 
template<typename T , unsigned Elems, size_t Stride = 1, aie_dm_resource Resource = aie_dm_resource::none>
using aie::detail::const_vector_iterator = vector_iterator< const std::remove_const_t< T >, Elems, Stride, Resource >
 
template<typename T , unsigned N, size_t Elems, size_t Stride = 1, aie_dm_resource Resource = aie_dm_resource::none>
using aie::detail::const_vector_random_circular_iterator = vector_random_circular_iterator< const T, N, Elems, Stride, Resource >
 
template<typename T >
using aie::detail::get_value_type_t = typename get_value_type< T >::type
 

Functions

template<typename Pointer , size_t Elems>
struct random_circular_iterator_storage_static aie::detail::property (keep_in_registers)
 
template<typename Pointer >
struct random_circular_iterator_storage_dynamic aie::detail::property (keep_in_registers)
 
template<typename T , size_t Elems, size_t Stride, aie_dm_resource Resource>
class random_circular_iterator aie::detail::property (keep_in_registers)
 
template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
class vector_iterator aie::detail::property (keep_in_registers)
 
template<typename T , unsigned Elems, size_t Stride, aie_dm_resource Resource>
class restrict_vector_iterator aie::detail::property (keep_in_registers)
 

Variables

constexpr size_t aie::detail::dynamic_extent = std::numeric_limits<size_t>::max()
 

Class Documentation

◆ aie::detail::get_value_type

struct aie::detail::get_value_type
template<typename T>
struct aie::detail::get_value_type< T >
Class Members
typedef T type

◆ aie::detail::get_value_type< vector< T, Elems > >

struct aie::detail::get_value_type< vector< T, Elems > >
template<typename T, unsigned Elems>
struct aie::detail::get_value_type< vector< T, Elems > >
Class Members
typedef typename value_type type