From 706132c159fcfe8113bdc8a12c4c24708283d6ce Mon Sep 17 00:00:00 2001
From: Florian Schmaus <flow@cs.fau.de>
Date: Fri, 25 Feb 2022 13:03:40 +0100
Subject: [PATCH] [extra-libs/ws-queue] Add WsClQueue

---
 extra-libs/ws-queue/WorkStealingQueueLib.cpp | 11 +++++++++++
 extra-libs/ws-queue/WorkStealingQueueLib.hpp |  8 ++++++++
 2 files changed, 19 insertions(+)

diff --git a/extra-libs/ws-queue/WorkStealingQueueLib.cpp b/extra-libs/ws-queue/WorkStealingQueueLib.cpp
index c39bb206..f024cc3c 100644
--- a/extra-libs/ws-queue/WorkStealingQueueLib.cpp
+++ b/extra-libs/ws-queue/WorkStealingQueueLib.cpp
@@ -4,6 +4,7 @@
 
 #include "StealingResult.hpp"
 #include "lib/adt/PushBottomResult.hpp"
+#include "lib/adt/WsClQueue.hpp"
 #include "lib/adt/WsClv3Queue.hpp"
 #include "lib/adt/WsClv4Queue.hpp"
 
@@ -11,6 +12,16 @@ namespace emper::extralibs::wsqueue {
 
 constexpr int maxRetries = 0;
 
+namespace cl {
+static adt::WsClQueue<int, 16> queue;
+
+auto pushBottom(int value) -> adt::PushBottomResult { return queue.pushBottom(value); }
+
+auto popBottom(int* value) -> bool { return queue.popBottom(value); }
+
+auto popTop(int* value) -> StealingResult { return queue.popTop<maxRetries>(value); }
+}	 // namespace cl
+
 namespace cl3 {
 static adt::WsClv3Queue<int, 16> queue;
 
diff --git a/extra-libs/ws-queue/WorkStealingQueueLib.hpp b/extra-libs/ws-queue/WorkStealingQueueLib.hpp
index 8ffe24e0..10a94c67 100644
--- a/extra-libs/ws-queue/WorkStealingQueueLib.hpp
+++ b/extra-libs/ws-queue/WorkStealingQueueLib.hpp
@@ -7,6 +7,14 @@
 
 namespace emper::extralibs::wsqueue {
 
+namespace cl {
+auto pushBottom(int value) -> adt::PushBottomResult;
+
+auto popBottom(int* value) -> bool;
+
+auto popTop(int* value) -> StealingResult;
+}	 // namespace cl
+
 namespace cl3 {
 auto pushBottom(int value) -> adt::PushBottomResult;
 
-- 
GitLab