-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathSeaQParMain_Linux.cpp
More file actions
35 lines (28 loc) · 1.02 KB
/
Copy pathSeaQParMain_Linux.cpp
File metadata and controls
35 lines (28 loc) · 1.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// 23 July 2026 Roberto Della Pasqua - www.dellapasqua.com
#include <tbb/concurrent_queue.h>
#include <stdbool.h>
#define EXPORT __attribute__((visibility("default")))
extern "C" {
// Crea una nuova coda
EXPORT tbb::concurrent_queue<void*>* CreateQueue(){
return new tbb::concurrent_queue<void*>();
}
// Libera la memoria della queue
EXPORT void FreeQueue(tbb::concurrent_queue<void*>* queue){
delete queue;
}
// Aggiunge un puntatore alla coda
EXPORT void PushToQueue(tbb::concurrent_queue<void*>* queue, void* ptr){
if (queue) queue->push(ptr);
}
// Estrae un puntatore dalla coda
EXPORT bool PopFromQueue(tbb::concurrent_queue<void*>* queue, void** outPtr){
if (queue && outPtr && queue->try_pop(*outPtr))
return true;
return false;
}
// Verifica se la coda è vuota
EXPORT bool IsQueueEmpty(tbb::concurrent_queue<void*>* queue){
return queue == nullptr || queue->empty();
}
}