4 #if !defined(OSSIA_FREESTANDING)
6 #if defined(__has_feature)
7 #if __has_feature(thread_sanitizer)
8 #include <concurrentqueue.h>
11 template <
typename T,
size_t MAX_BLOCK_SIZE = 512>
12 using spsc_queue = moodycamel::ConcurrentQueue<T>;
15 #include <readerwriterqueue.h>
18 template <
typename T,
size_t MAX_BLOCK_SIZE = 512>
19 using spsc_queue = moodycamel::ReaderWriterQueue<T, MAX_BLOCK_SIZE>;
23 #include <readerwriterqueue.h>
26 template <
typename T,
size_t MAX_BLOCK_SIZE = 512>
27 using spsc_queue = moodycamel::ReaderWriterQueue<T, MAX_BLOCK_SIZE>;
31 #include <concurrentqueue.h>
35 using mpmc_queue = moodycamel::ConcurrentQueue<T>;
46 bool try_dequeue(T& t)
50 t = std::move(impl.back());
55 void enqueue(T&& t) { impl.insert(impl.begin(), std::move(t)); }
61 using spsc_queue = ossia::minimal_queue<T>;
63 using mpmc_queue = ossia::minimal_queue<T>;