|  | 
| using | aie::AccumClass = detail::AccumClass | 
|  | 
| using | aie::sync::adopt_lock_t = detail::adopt_lock_t | 
|  | 
| template<typename Span , unsigned NumBuffers = 2, unsigned NumReaders = 1, unsigned NumWriters = 1> | 
| using | aie::sync::buffered_input = detail::sync::input< Span, NumBuffers > | 
|  | 
| template<typename Span , unsigned NumBuffers = 2, unsigned NumReaders = 1, unsigned NumWriters = 1> | 
| using | aie::sync::buffered_output = detail::sync::output< Span, NumBuffers > | 
|  | 
| template<unsigned MinAccumBits, unsigned Elems> | 
| using | aie::cfp_accum = accum< detail::accum_tag_t< AccumClass::CFP, detail::to_native_accum_bits< AccumClass::CFP, MinAccumBits >()>, Elems > | 
|  | 
| template<unsigned MinAccumBits, unsigned Elems> | 
| using | aie::cint_accum = accum< detail::accum_tag_t< AccumClass::CInt, detail::to_native_accum_bits< AccumClass::CInt, MinAccumBits >()>, Elems > | 
|  | 
| template<unsigned NumReaders = 1, unsigned NumWriters = 1> | 
| using | aie::sync::consumer_lock = detail::consumer_lock< NumReaders, NumWriters > | 
|  | 
| template<unsigned NumReaders = 1, unsigned NumWriters = 1> | 
| using | aie::sync::consumer_sem = detail::consumer_sem< NumReaders, NumWriters > | 
|  | 
| template<size_t... Extents> | 
| using | aie::extents = detail::extents< Extents... > | 
|  | 
| template<unsigned MinAccumBits, unsigned Elems> | 
| using | aie::fp_accum = accum< detail::accum_tag_t< AccumClass::FP, detail::to_native_accum_bits< AccumClass::FP, MinAccumBits >()>, Elems > | 
|  | 
| template<unsigned MinAccumBits, unsigned Elems> | 
| using | aie::int_accum = accum< detail::accum_tag_t< AccumClass::Int, detail::to_native_accum_bits< AccumClass::Int, MinAccumBits >()>, Elems > | 
|  | 
| template<typename T , size_t... Extents> | 
| using | aie::mdspan = detail::basic_mdspan< T, extents< Extents... >, void, detail::accessor_basic< T > > | 
|  | 
| using | aie::sync::mutex = detail::mutex | 
|  | 
| template<unsigned NumReaders = 1, unsigned NumWriters = 1> | 
| using | aie::sync::producer_lock = detail::producer_lock< NumReaders, NumWriters > | 
|  | 
| template<unsigned NumReaders = 1, unsigned NumWriters = 1> | 
| using | aie::sync::producer_sem = detail::producer_sem< NumReaders, NumWriters > | 
|  | 
| template<typename T , size_t... Extents> | 
| using | aie::restrict_mdspan = detail::basic_mdspan< T, extents< Extents... >, void, detail::accessor_restrict< T > > | 
|  | 
| template<typename T , size_t Extents1 = dynamic_extent> | 
| using | aie::restrict_span = restrict_span_1d< T, Extents1 > | 
|  | 
| template<typename T , size_t Extents1 = dynamic_extent> | 
| using | aie::restrict_span_1d = restrict_mdspan< T, Extents1 > | 
|  | 
| template<typename T , size_t Extents1 = dynamic_extent, size_t Extents2 = dynamic_extent> | 
| using | aie::restrict_span_2d = restrict_mdspan< T, Extents1, Extents2 > | 
|  | 
| template<typename T , size_t Extents1 = dynamic_extent, size_t Extents2 = dynamic_extent, size_t Extents3 = dynamic_extent> | 
| using | aie::restrict_span_3d = restrict_mdspan< T, Extents1, Extents2, Extents3 > | 
|  | 
| template<typename T , size_t Extents1 = dynamic_extent, size_t Extents2 = dynamic_extent, size_t Extents3 = dynamic_extent, size_t Extents4 = dynamic_extent> | 
| using | aie::restrict_span_4d = restrict_mdspan< T, Extents1, Extents2, Extents3, Extents4 > | 
|  | 
| template<typename T , typename TileExtents , size_t... Extents> | 
| using | aie::restrict_tiled_mdspan = detail::basic_tiled_mdspan< T, TileExtents, extents< Extents... >, void, detail::accessor_restrict< T > > | 
|  | 
| template<typename T , typename TileExtents , size_t Extents1 = dynamic_extent> | 
| using | aie::restrict_tiled_span = tiled_span_1d< T, TileExtents, Extents1 > | 
|  | 
| template<typename T , typename TileExtents , size_t Extents1 = dynamic_extent> | 
| using | aie::restrict_tiled_span_1d = tiled_mdspan< T, TileExtents, Extents1 > | 
|  | 
| template<typename T , typename TileExtents , size_t Extents1 = dynamic_extent, size_t Extents2 = dynamic_extent> | 
| using | aie::restrict_tiled_span_2d = tiled_mdspan< T, TileExtents, Extents1, Extents2 > | 
|  | 
| template<typename T , typename TileExtents , size_t Extents1 = dynamic_extent, size_t Extents2 = dynamic_extent, size_t Extents3 = dynamic_extent> | 
| using | aie::restrict_tiled_span_3d = tiled_mdspan< T, TileExtents, Extents1, Extents2, Extents3 > | 
|  | 
| template<typename T , typename TileExtents , size_t Extents1 = dynamic_extent, size_t Extents2 = dynamic_extent, size_t Extents3 = dynamic_extent, size_t Extents4 = dynamic_extent> | 
| using | aie::restrict_tiled_span_4d = tiled_mdspan< T, TileExtents, Extents1, Extents2, Extents3, Extents4 > | 
|  | 
| using | aie::sync::scoped_lock = detail::scoped_lock | 
|  | 
| template<typename T , size_t Extents1 = dynamic_extent> | 
| using | aie::span = span_1d< T, Extents1 > | 
|  | 
| template<typename T , size_t Extents1 = dynamic_extent> | 
| using | aie::span_1d = mdspan< T, Extents1 > | 
|  | 
| template<typename T , size_t Extents1 = dynamic_extent, size_t Extents2 = dynamic_extent> | 
| using | aie::span_2d = mdspan< T, Extents1, Extents2 > | 
|  | 
| template<typename T , size_t Extents1 = dynamic_extent, size_t Extents2 = dynamic_extent, size_t Extents3 = dynamic_extent> | 
| using | aie::span_3d = mdspan< T, Extents1, Extents2, Extents3 > | 
|  | 
| template<typename T , size_t Extents1 = dynamic_extent, size_t Extents2 = dynamic_extent, size_t Extents3 = dynamic_extent, size_t Extents4 = dynamic_extent> | 
| using | aie::span_4d = mdspan< T, Extents1, Extents2, Extents3, Extents4 > | 
|  | 
| template<typename T , typename TileExtents , size_t... Extents> | 
| using | aie::tiled_mdspan = detail::basic_tiled_mdspan< T, TileExtents, extents< Extents... >, void, detail::accessor_basic< T > > | 
|  | 
| template<typename T , typename TileExtents , size_t Extents1 = dynamic_extent> | 
| using | aie::tiled_span = tiled_span_1d< T, TileExtents, Extents1 > | 
|  | 
| template<typename T , typename TileExtents , size_t Extents1 = dynamic_extent> | 
| using | aie::tiled_span_1d = tiled_mdspan< T, TileExtents, Extents1 > | 
|  | 
| template<typename T , typename TileExtents , size_t Extents1 = dynamic_extent, size_t Extents2 = dynamic_extent> | 
| using | aie::tiled_span_2d = tiled_mdspan< T, TileExtents, Extents1, Extents2 > | 
|  | 
| template<typename T , typename TileExtents , size_t Extents1 = dynamic_extent, size_t Extents2 = dynamic_extent, size_t Extents3 = dynamic_extent> | 
| using | aie::tiled_span_3d = tiled_mdspan< T, TileExtents, Extents1, Extents2, Extents3 > | 
|  | 
| template<typename T , typename TileExtents , size_t Extents1 = dynamic_extent, size_t Extents2 = dynamic_extent, size_t Extents3 = dynamic_extent, size_t Extents4 = dynamic_extent> | 
| using | aie::tiled_span_4d = tiled_mdspan< T, TileExtents, Extents1, Extents2, Extents3, Extents4 > | 
|  |