5#if (defined ROO_THREADS_USE_CPPSTD)
12using mutex = ::roo_threads::cppstd::mutex;
16template <
typename Mutex>
17using lock_guard = ::roo_threads::cppstd::lock_guard<Mutex>;
21template <
typename Mutex>
22using unique_lock = ::roo_threads::cppstd::unique_lock<Mutex>;
25using defer_lock_t = ::roo_threads::cppstd::defer_lock_t;
27using try_to_lock_t = ::roo_threads::cppstd::try_to_lock_t;
29using adopt_lock_t = ::roo_threads::cppstd::adopt_lock_t;
34inline constexpr defer_lock_t defer_lock{};
36inline constexpr try_to_lock_t try_to_lock{};
38inline constexpr adopt_lock_t adopt_lock{};
42#elif (defined ROO_THREADS_USE_FREERTOS)
49using mutex = ::roo_threads::freertos::mutex;
52template <
typename Mutex>
53using lock_guard = ::roo_threads::freertos::lock_guard<Mutex>;
57template <
typename Mutex>
58using unique_lock = ::roo_threads::freertos::unique_lock<Mutex>;
61using defer_lock_t = ::roo_threads::freertos::defer_lock_t;
63using try_to_lock_t = ::roo_threads::freertos::try_to_lock_t;
65using adopt_lock_t = ::roo_threads::freertos::adopt_lock_t;
69inline constexpr defer_lock_t defer_lock{};
71inline constexpr try_to_lock_t try_to_lock{};
73inline constexpr adopt_lock_t adopt_lock{};
77#elif (defined ROO_THREADS_USE_ROO_TESTING)
79#include "roo_threads/impl/roo_testing/mutex.h"
84using mutex = ::roo_threads::roo_testing::mutex;
88template <
typename Mutex>
89using lock_guard = ::roo_threads::roo_testing::lock_guard<Mutex>;
93template <
typename Mutex>
94using unique_lock = ::roo_threads::roo_testing::unique_lock<Mutex>;
97using defer_lock_t = ::roo_threads::roo_testing::defer_lock_t;
99using try_to_lock_t = ::roo_threads::roo_testing::try_to_lock_t;
101using adopt_lock_t = ::roo_threads::roo_testing::adopt_lock_t;
106inline constexpr defer_lock_t defer_lock{};
108inline constexpr try_to_lock_t try_to_lock{};
110inline constexpr adopt_lock_t adopt_lock{};
114#elif (defined ROO_THREADS_SINGLETHREADED)
121using mutex = ::roo_threads::singlethreaded::mutex;
125template <
typename Mutex>
126using lock_guard = ::roo_threads::singlethreaded::lock_guard<Mutex>;
130template <
typename Mutex>
131using unique_lock = ::roo_threads::singlethreaded::unique_lock<Mutex>;