AI Engine API User Guide (AIE-API) 2025.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
aie::sync Namespace Reference

Typedefs

using adopt_lock_t = detail::adopt_lock_t
 
template<typename Span, unsigned NumBuffers = 2, unsigned NumReaders = 1, unsigned NumWriters = 1>
using buffered_input = detail::sync::input<Span, NumBuffers>
 
template<typename Span, unsigned NumBuffers = 2, unsigned NumReaders = 1, unsigned NumWriters = 1>
using buffered_output = detail::sync::output<Span, NumBuffers>
 
template<unsigned NumReaders = 1, unsigned NumWriters = 1>
using consumer_lock = detail::consumer_lock<NumReaders, NumWriters>
 
template<unsigned NumReaders = 1, unsigned NumWriters = 1>
using consumer_sem = detail::consumer_sem<NumReaders, NumWriters>
 
using mutex = detail::mutex
 
template<unsigned NumReaders = 1, unsigned NumWriters = 1>
using producer_lock = detail::producer_lock<NumReaders, NumWriters>
 
template<unsigned NumReaders = 1, unsigned NumWriters = 1>
using producer_sem = detail::producer_sem<NumReaders, NumWriters>
 
using scoped_lock = detail::scoped_lock
 

Functions

template<typename Fn, typename... MutexTypes>
void locked (Fn fn, MutexTypes &...mutexes)
 

Typedef Documentation

◆ adopt_lock_t

using aie::sync::adopt_lock_t = detail::adopt_lock_t

◆ buffered_input

template<typename Span, unsigned NumBuffers = 2, unsigned NumReaders = 1, unsigned NumWriters = 1>
using aie::sync::buffered_input = detail::sync::input<Span, NumBuffers>

◆ buffered_output

template<typename Span, unsigned NumBuffers = 2, unsigned NumReaders = 1, unsigned NumWriters = 1>
using aie::sync::buffered_output = detail::sync::output<Span, NumBuffers>

◆ consumer_lock

template<unsigned NumReaders = 1, unsigned NumWriters = 1>
using aie::sync::consumer_lock = detail::consumer_lock<NumReaders, NumWriters>

◆ consumer_sem

template<unsigned NumReaders = 1, unsigned NumWriters = 1>
using aie::sync::consumer_sem = detail::consumer_sem<NumReaders, NumWriters>

◆ mutex

using aie::sync::mutex = detail::mutex

◆ producer_lock

template<unsigned NumReaders = 1, unsigned NumWriters = 1>
using aie::sync::producer_lock = detail::producer_lock<NumReaders, NumWriters>

◆ producer_sem

template<unsigned NumReaders = 1, unsigned NumWriters = 1>
using aie::sync::producer_sem = detail::producer_sem<NumReaders, NumWriters>

◆ scoped_lock

using aie::sync::scoped_lock = detail::scoped_lock

Function Documentation

◆ locked()

template<typename Fn, typename... MutexTypes>
void aie::detail::locked ( Fn fn,
MutexTypes &... mutexes )