AI Engine API User Guide (AIE) 2023.2
Loading...
Searching...
No Matches
lock.hpp File Reference
#include "utils.hpp"
#include <cstddef>
#include <tuple>
#include <utility>

Classes

struct  aie::detail::adopt_lock_t
 
class  aie::detail::scoped_lock_impl< MutexType >
 

Namespaces

namespace  aie
 Base namespace for AIE operations and types.
 
namespace  aie::detail
 

Macros

#define __AIE_API_DETAIL_LOCK__HPP__
 

Typedefs

template<unsigned NumReaders, unsigned NumWriters>
using aie::detail::consumer_lock = scoped_lock_impl< consumer_sem< NumReaders, NumWriters > >
 
template<unsigned NumReaders, unsigned NumWriters>
using aie::detail::producer_lock = scoped_lock_impl< producer_sem< NumReaders, NumWriters > >
 
using aie::detail::scoped_lock = scoped_lock_impl< mutex >
 

Functions

template<typename Fn , typename... MutexTypes>
void aie::detail::locked (Fn fn, MutexTypes &...mutexes)
 
template<size_t... Indices, typename... MutexTypes>
void aie::detail::unlock_reverse_helper (const std::index_sequence< Indices... > &, MutexTypes &&...mutexes)
 

Class Documentation

◆ aie::detail::adopt_lock_t

struct aie::detail::adopt_lock_t

Macro Definition Documentation

◆ __AIE_API_DETAIL_LOCK__HPP__

#define __AIE_API_DETAIL_LOCK__HPP__