#pragma once #include template class SPSCQueueInterface { public: virtual bool push(T obj) = 0; virtual std::optional pop() = 0; virtual std::optional peek() = 0; virtual bool isFull() = 0; virtual bool isEmpty() = 0; };